#include <Windows.h>
#include "cxdec.h"

CCxdec::CCxdec()
{
    m_pbFunction = NULL;
}

CCxdec::~CCxdec()
{
    Release();
}

Void CCxdec::Release()
{
    if (m_pbFunction != NULL)
    {
        VirtualFreeEx(NtCurrentProcess(), m_pbFunction, 0, MEM_RELEASE);
        m_pbFunction = NULL;
    }
}

ULONG CCxdec::GetMask(ULONG &Hash)
{
    ULONG Index, h1, h2;
    GetMaskFunc pfGetMask;

    h2 = Hash;
    Index = h2 % m_FuncCount;
    if (m_pbFunction == NULL)
    {
        m_pbFunction = (PBYTE)VirtualAllocEx(NtCurrentProcess(), 0,
            m_FuncSize * m_FuncCount, MEM_COMMIT|MEM_RESERVE, PAGE_EXECUTE_READWRITE);
        if (m_pbFunction == NULL)
            return FALSE;
    }

    pfGetMask = (GetMaskFunc)(m_pbFunction + Index * m_FuncSize);
    if (*(PBYTE)pfGetMask == 0 && !GenerateCode(Index))
        return 1;

    h2 >>= 7;
    h1 = pfGetMask(h2);
    h2 = pfGetMask(~h2);
    if (!(h1 & 0xFF))
        ++h1;
    if (LOWORD(h2) == HIWORD(h2))
    {
//        h2 = MakeDword(HiWord(h2), LoWord(h2) + 1);
        h2 = MAKELONG(LOWORD(h2) + 1, HIWORD(h2));     // modified @ 2010-11-20, game @ tenshin
    }

    Hash = h1/* & 0xFFFFFF*/;   // use 24 bit
    return h2;
}

ForceInline BOOL CCxdec::HasEnoughSpace(ULONG BytesToAppend)
{
    return (ULONG)(m_Info.pbBufferCur - m_Info.pbBuffer + BytesToAppend) <= m_FuncSize;
}

ForceInline ULONG CCxdec::GenerateSeed()
{
    ULONG v1, v2;

    v1 = m_Info.Seed;
    m_Info.Seed = m_Info.Seed * 0x41C64E6D + 0x3039;
    v2 = (v1 << 16) ^ (v1 >> 16);

    return v2 ^ m_Info.Seed;
}

BOOL CCxdec::AppendBytes(ULONG Count, PVOID pvBytes)
{
    if (!HasEnoughSpace(Count))
        return FALSE;

    CopyMemory(m_Info.pbBufferCur, pvBytes, Count);
    m_Info.pbBufferCur += Count;

    return TRUE;
}

BOOL CCxdec::GenerateFunction(ULONG Loop)
{
    //  generate function head

    AddBytes(0x57, 0x56, 0x53, 0x51, 0x52);
//    AddBytes(0x8B, 0x7C, 0x24, 0x18);         // mov  edi, dword ptr [esp+0x18]
    AddBytes(0x8B, 0xF9, 0x8B, 0xC0);           // mov  edi, ecx    mov eax, eax
    if (!GenerateBody(Loop))
        return FALSE;

    AddBytes(0x5A, 0x59, 0x5B, 0x5E, 0x5F);
    AddBytes(0xC3);

    return TRUE;
}

BOOL CCxdec::GenerateBody(ULONG Loop)
{
    if (--Loop == 0)
    {
        return GenerateTail();
    }

    AddBytes(0x53);

    if (GenerateSeed() & 1)
    {
        if (!GenerateBody(Loop))
            return FALSE;
    }
    else if (!GenerateBody2(Loop))
    {
        return FALSE;
    }

    AddBytes(0x89, 0xC3);

    if (GenerateSeed() & 1)
    {
        if (!GenerateBody(Loop))
            return FALSE;
    }
    else if (!GenerateBody2(Loop))
        return FALSE;

    ULONG mod = GenerateSeed() % 6;
    switch (mod)
    {
#if defined(REAL_SISTER)
        case 0:
#elif defined(FATE_HA)
        case 5:
#elif defined(NATSU_ZORA)
        case 5:
#elif defined(TENSHIN)
        case 2:
#elif defined(IMOUTO_STYLE)
        case 4:
#else
        case 0: // remove no 'case' or 'default' labels warning
#endif
            AddBytes(0x29, 0xD8);
            break;

#if defined(REAL_SISTER)
        case 1:
        case 2:
#elif defined(FATE_HA)
        case 0:
        case 1:
#elif defined(NATSU_ZORA)
        case 3:
        case 4:
#elif defined(TENSHIN)
        case 0:
        case 1:
#elif defined(IMOUTO_STYLE)
        case 0:
        case 3:
#endif
            AddBytes(0x51);
            AddBytes(0x89, 0xD9);
            AddBytes(0x83, 0xE1, 0x0F);
#if defined(REAL_SISTER)
            AddBytes(0xD3, mod == 2 ? 0xE0 : 0xE8);
#elif defined(FATE_HA)
            AddBytes(0xD3, mod == 1 ? 0xE0 : 0xE8);
#elif defined(NATSU_ZORA)
            AddBytes(0xD3, mod == 4 ? 0xE0 : 0xE8);
#elif defined(TENSHIN)
            AddBytes(0xD3, mod == 0 ? 0xE0 : 0xE8);
#elif defined(IMOUTO_STYLE)
            AddBytes(0xD3, mod == 0 ? 0xE0 : 0xE8);
#endif
            AddBytes(0x59);
            break;

#if defined(REAL_SISTER)
        case 3:
#elif defined(FATE_HA)
        case 4:
#elif defined(NATSU_ZORA)
        case 2:
#elif defined(TENSHIN)
        case 3:
#elif defined(IMOUTO_STYLE)
        case 2:
#endif
            AddBytes(0x0F, 0xAF, 0xC3);
            break;

#if defined(REAL_SISTER)
        case 4:
#elif defined(FATE_HA)
        case 3:
#elif defined(NATSU_ZORA)
        case 1:
#elif defined(TENSHIN)
        case 4:
#elif defined(IMOUTO_STYLE)
        case 5:
#endif
            AddBytes(0xF7, 0xD8);

#if defined(REAL_SISTER)
        case 5:
#elif defined(FATE_HA)
        case 2:
#elif defined(NATSU_ZORA)
        case 0:
#elif defined(TENSHIN)
        case 5:
#elif defined(IMOUTO_STYLE)
        case 1:
#endif
            AddBytes(0x01, 0xD8);
            break;
    }

    AddBytes(0x5B);
    return TRUE;
}

BOOL CCxdec::GenerateBody2(ULONG Loop)
{
    if (--Loop == 0)
        return GenerateTail();

    if (GenerateSeed() & 1)
    {
        if (!GenerateBody(Loop))
            return FALSE;
    }
    else if (!GenerateBody2(Loop))
    {
        return FALSE;
    }

    switch (GenerateSeed() & 7)
    {
#if defined(REAL_SISTER)
        case 0:
#elif defined(FATE_HA)
        case 2:
#elif defined(NATSU_ZORA)
        case 1:
#elif defined(TENSHIN)
        case 1:
#elif defined(IMOUTO_STYLE)
        case 6:
#else
        case 0: // warning
#endif
            AddBytes(0xF7, 0xD8);
            break;

#if defined(REAL_SISTER)
        case 1:
#elif defined(FATE_HA)
        case 4:
#elif defined(NATSU_ZORA)
        case 7:
#elif defined(TENSHIN)
        case 0:
#elif defined(IMOUTO_STYLE)
        case 5:
#endif
            AddBytes(0xBE);
            AddDword(m_EncryptBlock);
            AddBytes(0x25);
            AddDword(0x3FF);
            AddBytes(0x8B, 0x04, 0x86);
            break;

#if defined(REAL_SISTER)
        case 2:
#elif defined(FATE_HA)
        case 3:
#elif defined(NATSU_ZORA)
        case 2:
#elif defined(TENSHIN)
        case 2:
#elif defined(IMOUTO_STYLE)
        case 3:
#endif
            AddBytes(0x40);
            break;

#if defined(REAL_SISTER)
        case 3:
#elif defined(FATE_HA)
        case 0:
#elif defined(NATSU_ZORA)
        case 5:
#elif defined(TENSHIN)
        case 7:
#elif defined(IMOUTO_STYLE)
        case 7:
#endif
            AddBytes(0xF7, 0xD0);
            break;

#if defined(REAL_SISTER)
        case 4:
#elif defined(FATE_HA)
        case 1:
#elif defined(NATSU_ZORA)
        case 4:
#elif defined(TENSHIN)
        case 5:
#elif defined(IMOUTO_STYLE)
        case 2:
#endif
            AddBytes(0x48);
            break;

#if defined(REAL_SISTER)
        case 5:
#elif defined(FATE_HA)
        case 5:
#elif defined(NATSU_ZORA)
        case 6:
#elif defined(TENSHIN)
        case 3:
#elif defined(IMOUTO_STYLE)
        case 1:
#endif
            AddBytes(0x53);
            AddBytes(0x89, 0xC3);
            AddBytes(0x81, 0xE3, 0xAA, 0xAA, 0xAA, 0xAA);
            AddBytes(0x25, 0x55, 0x55, 0x55, 0x55);
            AddBytes(0xD1, 0xEB);
            AddBytes(0xD1, 0xE0);
            AddBytes(0x09, 0xD8);
            AddBytes(0x5B);
            break;

#if defined(REAL_SISTER)
        case 6:
#elif defined(FATE_HA)
        case 6:
#elif defined(NATSU_ZORA)
        case 3:
#elif defined(TENSHIN)
        case 4:
#elif defined(IMOUTO_STYLE)
        case 4:
#endif
            AddBytes(0x35);
            AddDword(GenerateSeed());
            break;

#if defined(REAL_SISTER)
        case 7:
#elif defined(FATE_HA)
        case 7:
#elif defined(NATSU_ZORA)
        case 0:
#elif defined(TENSHIN)
        case 6:
#elif defined(IMOUTO_STYLE)
        case 0:
#endif
            AddBytes((GenerateSeed() & 1) ? 0x05 : 0x2D);
            AddDword(GenerateSeed());
            break;
    }

    return TRUE;
}

BOOL CCxdec::GenerateTail()
{
    ULONG mod = GenerateSeed() % 3;

    switch (mod)
    {
#if defined(REAL_SISTER)
        case 0:
#elif defined(FATE_HA)
        case 2:
#elif defined(NATSU_ZORA)
        case 0:
#elif defined(TENSHIN)
        case 2:
#elif defined(IMOUTO_STYLE)
        case 0:
#else
        case 0:
#endif
            AddBytes(0xBE);
            AddDword(m_EncryptBlock);
            AddBytes(0x8B, 0x86);
            AddDword((GenerateSeed() & 0x3FF) << 2);
            break;

#if defined(REAL_SISTER)
        case 1:
#elif defined(FATE_HA)
        case 0:
#elif defined(NATSU_ZORA)
        case 1:
#elif defined(TENSHIN)
        case 1:
#elif defined(IMOUTO_STYLE)
        case 2:
#endif
            AddBytes(0xB8);
            AddDword(GenerateSeed());
            break;

#if defined(REAL_SISTER)
        case 2:
#elif defined(FATE_HA)
        case 1:
#elif defined(NATSU_ZORA)
        case 2:
#elif defined(TENSHIN)
        case 0:
#elif defined(IMOUTO_STYLE)
        case 1:
#endif
            AddBytes(0x8B, 0xC7);
            break;
    }

    return TRUE;
}

BOOL CCxdec::GenerateCode(ULONG Index)
{
    m_Info.pbBuffer = m_pbFunction + Index * m_FuncSize;
    m_Info.BufferSize = m_FuncSize;
    m_Info.Seed = Index;

    for (ULONG i = 5; i; --i)
    {
        m_Info.pbBufferCur = m_Info.pbBuffer;
        if (GenerateFunction(i))
            return TRUE;
    }

    return FALSE;
}

#if defined(REAL_SISTER)

const ULONG CCxdec::m_EncryptBlock[0x400] =
{
    0x636E4520, 0x74707972, 0x206E6F69, 0x746E6F63, 0x206C6F72, 0x636F6C62, 0x2D2D206B, 0x61745320, 0x61636974, 0x20796C6C,
    0x6420726F, 0x6D616E79, 0x6C616369, 0x202C796C, 0x65726964, 0x796C7463, 0x20726F20, 0x69646E69, 0x74636572, 0x202C796C,
    0x6E697375, 0x68742067, 0x70207369, 0x72676F72, 0x61206D61, 0x6F2F646E, 0x6C622072, 0x206B636F, 0x6D6F7266, 0x68746F20,
    0x70207265, 0x72676F72, 0x20736D61, 0x6C6C6977, 0x20656220, 0x656C6C69, 0x206C6167, 0x74207962, 0x6C206568, 0x6E656369,
    0x61206573, 0x65657267, 0x746E656D, 0xB182202E, 0x7683CC82, 0x4F838D83, 0x80838983, 0x7583E282, 0x62838D83, 0xF0824E83,
    0xC3904181, 0xC5824993, 0xEA82A082, 0x4993AE93, 0xA082C582, 0x4181EA82, 0xDA90BC92, 0xC5824993, 0xEA82A082, 0xDA90D48A,
    0xC5824993, 0xEA82A082, 0xBC914181, 0x7683CC82, 0x4F838D83, 0x80838983, 0xE782A982, 0xA2827097, 0xB182E982, 0xCD82C682,
    0x43838983, 0x93835A83, 0xC9825883, 0xE882E682, 0xB682D68B, 0xEA82E782, 0xA282C482, 0xB782DC82, 0x430A4281, 0x7279706F,
    0x74686769, 0x29432820, 0x31303220, 0x4C412030, 0x20746F63, 0x656E6F48, 0x6F432079, 0x4120626D, 0x52206C6C, 0x74686769,
    0x65522073, 0x76726573, 0x0A2E6465, 0x82A2900A, 0x828692CC, 0x81CD82C9, 0x8E518241, 0x82DE97ED, 0x8CA882CC, 0x82BF825A,
    0x82F182E1, 0x82A282AA, 0x82C682E9, 0x81A482A2, 0x8C0A0A42, 0x82C08EBB, 0x828596CC, 0x96E290C9, 0x81B5825D, 0x81518341,
    0x8280835B, 0x96E082C5, 0x82C98285, 0x824796CD, 0x82E782A6, 0x82C882EA, 0x82C882AD, 0x82BD82C1, 0x825A8CA8, 0x82E182BF,
    0x0A4281F1, 0x82BB820A, 0x8CC482B5, 0x82C08EBB, 0x828596CC, 0x96E290C9, 0x82B5825D, 0x82A982BD, 0x82B182E7, 0x834181BB,
    0x835B8151, 0x90CC8280, 0x82458AA2, 0x919D97C5, 0x96CC827A, 0x8BF08285, 0x82DF8281, 0x8CA882E9, 0x82BF825A, 0x81F182E1,
    0x820A0A42, 0x95CC82B1, 0x82EA8CA8, 0x824181CD, 0x82CC82BB, 0x82BF82A4, 0x8EE38CCC, 0x0A4281D2, 0xC08EBB8C, 0x8596CC82,
    0x7581C982, 0x82834C83, 0x76814383, 0x45837581, 0x43835583, 0xC6827681, 0xB082738B, 0xEA82E782, 0xFC944181, 0x978FAD8F,
    0x5B815183, 0xCC828083, 0xC9828596, 0x7A919D97, 0x818BF082, 0xBD82DF82, 0x820A4181, 0x82B182C7, 0x82C582C9, 0x82A282E0,
    0x96BD95E9, 0x82C8827D, 0x825A8CA8, 0x82E182BF, 0x81CC82F1, 0x828C8C41, 0x82BE8AC6, 0x82DC97C6, 0x82BB82C6, 0x82BC91CC,
    0x82EB82E0, 0x82EB82E0, 0x82608FCC, 0x82B38CF0, 0x82D492C9, 0x8BBD82C1, 0x825E984C, 0x82A082C5, 0x0A4281E9, 0x90E58E0A,
    0x81F68C6C, 0x90E59145, 0x82C197F2, 0x824181CD, 0x82EA82B1, 0x90C582DC, 0x82588194, 0x8FFC94CC, 0x83978FAD, 0x835B8151,
    0x96C58280, 0x88F08285, 0x82B582A4, 0x82AB82C4, 0x90B690BD, 0x82CC8288, 0x825A8CA8, 0x82E182BF, 0x0A4281F1, 0xF182BB82,
    0xDE94C882, 0x4181AA82, 0xA082C682, 0x5183E982, 0x80835B81, 0x8596CC82, 0x5390C982, 0x4492F082, 0xEA82ED82, 0x4281BD82,
    0xE5910A0A, 0xAB82448D, 0xBA90C882, 0x41814497, 0x448DE591, 0xC882AB82, 0xE689B48C, 0x4181C689, 0xB582BB82, 0xA882C482,
    0xBF825A8C, 0xF182E182, 0xBD82CC82, 0xC882DF82, 0xBF82E782, 0xC182E582, 0x4783C682, 0x60836283, 0xC882C982, 0xC482C182,
    0xDC82B582, 0x8596A482, 0x820A4281, 0x81AA82BE, 0x8EBB8C41, 0x836981C0, 0x8341838A, 0x826A818B, 0x828596CC, 0x82A082C5,
    0x82789EE9, 0x82BB82CD, 0x82B582A4, 0x815183BD, 0x8280835B, 0x924D94C9, 0x82B78286, 0x825A8CE9, 0x894181F0, 0x82A89598,
    0x82B588F0, 0x82E682A4, 0x96C882A4, 0x8CC582DA, 0x81E982A9, 0x830A0A42, 0x835B8151, 0x96CC8280, 0x815C8185, 0x8883965C,
    0x82BF82DF, 0x82F182E1, 0x8C4181CD, 0x82F0825A, 0x82F182BB, 0x82DA96C8, 0x82A98CC5, 0x82E882BD, 0x82C882B5, 0x0A4281A2,
    0x8F8FEA88, 0xA882C982, 0x43989795, 0xFC93D682, 0xBD82C182, 0x4181E882, 0xF082E88E, 0xC882C282, 0xC582A282, 0x5A8D6F93,
    0xBD82B582, 0x4181E882, 0xD782B782, 0xAA82C482, 0xC08EBB8C, 0xCD82C682, 0xA482E188, 0x0A0A4281, 0xF182BB82, 0xA082C882,
    0xFA93E982, 0xE996CC82, 0xC1974181, 0x7395CD82, 0x638B768E, 0xB296C882, 0xA98CF082, 0x4281E982, 0x88C2890A, 0x90A282A4,
    0x81C582BA, 0x8CA88275, 0x82BF825A, 0x81F182E1, 0x8CC68276, 0x82D482C4, 0x8ECC82BB, 0x81CD8271, 0x82E69041, 0x82C782D9,
    0x83C582DC, 0x835B8151, 0x88C58280, 0x8DB582A4, 0x82C18287, 0x82A282C4, 0x919D97BD, 0x96CC827A, 0x96418185, 0x82DF8883,
    0x82A082C5, 0x81BD82C1, 0x820A0A42, 0x82B582BB, 0x928297C4, 0x824181A9, 0x82E782B3, 0x95E982C8, 0x8B768E73, 0x8FBB8C63,
    0x97AA82DB, 0x8FF082C1, 0x81A48250, 0x810A0A42, 0x8CA88275, 0x82BF825A, 0x81F182E1, 0x824E8B41, 0x81C482AB, 0x82CB8242,
    0x824181A6, 0x825A8CA8, 0x82E182BF, 0x0A7681F1, 0x82798C0A, 0x82CC91AD, 0x826897F0, 0x82D482B3, 0x81EA82E7, 0x648F0A41,
    0xD9E1A282, 0x4A8AF082, 0xC682AD82, 0xBB824181, 0xC982B182, 0x5C81CD82, 0x0A0A5C81, 0xA8827581, 0xE682CD82, 0x4181A482,
    0x5A8CA882, 0xE182BF82, 0xF481F182, 0x810A7681, 0x81DC8275, 0x88839641, 0x82BF82DF, 0x81F182E1, 0x81488149, 0x940A0A76,
    0x82E68F6E, 0x82C982E8, 0x82C182C8, 0x95A98EC4, 0x8BF082AA, 0x82B1824E, 0x82C482B5, 0x82BD82A2, 0x81CD82CC, 0x81518341,
    0x8280835B, 0x834C83CC, 0x82898383, 0x82C182BB, 0x82E882AD, 0x82978FCC, 0x82718ECC, 0x82A082C5, 0x81BD82C1, 0x38AE0A42,
    0xE0FE721D, 0x01E4D268, 0x53CB0572, 0x3869D3AC, 0x45EFF54E, 0xFA16A8BE, 0x83D4961B, 0xFF182E3D, 0xFDFA9CD4, 0x3CF4F775,
    0xAA8B48DD, 0xEE797679, 0x408BB421, 0x797B94F2, 0x0CBADA26, 0xDA776508, 0xD3D0101B, 0x2EF76AB3, 0x3D118505, 0xE9386F12,
    0x0D7E582B, 0x7195A2DB, 0xF4041774, 0xBC16750A, 0x44FD1E6F, 0x5BB86CD7, 0x53A07595, 0xE3C89A97, 0xC2A1D513, 0xBD2ED528,
    0x90730797, 0x733EF61D, 0xCA687B0C, 0xA49A43B9, 0x82625386, 0xA7E193D0, 0x7821A180, 0xF98F055C, 0x9D87FC05, 0xAC91EBF3,
    0xCF356F56, 0xE592C409, 0x48C102E8, 0x274BCD26, 0x1C7EF59D, 0x09D899BF, 0xA8C5D8B9, 0xED0318CE, 0x438F4703, 0xD4A96275,
    0x762DB89F, 0x6967DDC9, 0x000D917C, 0xE1AD955B, 0xC588D1AE, 0xBADD8247, 0xF9A7947F, 0x39FC8844, 0xE06B6E23, 0xB5252E28,
    0xCB78C792, 0x9D43F95E, 0x0B7EF678, 0x70EA183C, 0x1A6C6837, 0xEF6FBF3E, 0xAE11A170, 0xE9BDED8C, 0x25BACCD8, 0xEBF8DC4E,
    0x622713FA, 0x30BBD9C9, 0xA037ED7C, 0x29629E00, 0x200BE283, 0xB7E81C4D, 0x0CD6EC48, 0xBDAAEAAF, 0xCCDB4D30, 0x9874C9B5,
    0x1E032F88, 0x18E3124B, 0xB21AA641, 0x51B5929A, 0x130E75F6, 0xC9FDD19E, 0x89C21C96, 0x334D2F98, 0xE3CF5093, 0xC60DDDA6,
    0xFBD1F923, 0x44856865, 0x8E8CC974, 0xD8270508, 0x71DA3AAE, 0x5C13A80B, 0x5A5B72DD, 0xCF0283D7, 0x6597E693, 0x2A118BE3,
    0x674E5F29, 0x0BF4CBF4, 0x7EF6B6DC, 0x712572C3, 0xBD024E38, 0x13B75C7D, 0xA9294010, 0xE760BFA0, 0x5D93B126, 0x01448FE5,
    0xBFEC466C, 0x567924F0, 0xCD2B324A, 0x852697C7, 0x1BC82B7E, 0x6DD38937, 0x7F32CEB9, 0xB2BA10E8, 0x87531F2B, 0xC197149B,
    0x1C58EDCE, 0x70DBA4BD, 0xCFF57195, 0x584B416C, 0xF6415877, 0x28FBD11A, 0xBC2B7D69, 0xCE9A9E70, 0x544A63D2, 0x9D0847F6,
    0xECCAE020, 0xD33D18D7, 0x28AE7547, 0x00D5D940, 0x1947C00E, 0x6D64B161, 0x5EC88EFA, 0xAEE3695F, 0xF071C7F0, 0xD146FF3F,
    0x964A6028, 0xFEF642F2, 0x5D3ACC02, 0x0FD7549F, 0xBCBBB86C, 0x5664C9AB, 0xDC2B9F56, 0x8782BAC2, 0x90AB6868, 0x27528CC7,
    0x4A2F8531, 0x7D2E0CB5, 0x40758451, 0xDE99654C, 0x044A60BC, 0x6D55B523, 0x6CE72CEE, 0x36E07AF3, 0xF695FBEF, 0x91F2763C,
    0x1187D539, 0x63A3458E, 0x20B905DC, 0x8FB52D69, 0xD3ED28F1, 0x876C9126, 0xDEDC3BF0, 0xEC079026, 0x6E89E4C7, 0x0337304C,
    0xBE223306, 0x21ABA4DC, 0x847C913E, 0x1F443EE7, 0xCE99D7F0, 0xEF9FF276, 0x5364BD5F, 0x331F43B8, 0x6EB4DD5C, 0x6787216B,
    0xFFABFAA6, 0x82CB30E2, 0x9BC80AA9, 0x12C2AF85, 0xD50931BF, 0xFCB8BE16, 0x45733E19, 0x6A1AED5A, 0xDBE1427C, 0x3C0A5706,
    0x1A265C6F, 0xF0FEF7EF, 0xDD28E363, 0x79A4B980, 0xDBB893F6, 0xF85A251C, 0x020CE0AA, 0x590B8D06, 0xF6F59F66, 0xB823B994,
    0x555A1CDE, 0x1C0689A2, 0x9D2EACB3, 0x70228BFB, 0x2FDB60EC, 0x3D1E3CE8, 0x6FCAF449, 0x5F6227F6, 0xFDD8AB27, 0x5629DEFF,
    0xDC553F24, 0xD912B7E8, 0xB765CF93, 0x2D255348, 0x060FD5D6, 0x1A98DA40, 0xF9E3DBB9, 0x72EB37DB, 0x3C80976F, 0xCCC882E1,
    0xAD918143, 0xC4190595, 0x52337BCC, 0x331E7FDC, 0x40FC2611, 0x4CAC5A3E, 0xE6D880D1, 0xA6BF98C0, 0xBC8D1AB4, 0x2084D703,
    0x0CE6F7D1, 0x9CC7452C, 0x4EBB0143, 0x03226007, 0x07888DD9, 0x08BDFD1D, 0x62996625, 0xB286F607, 0x07BE2C71, 0xD865EED3,
    0x2449E935, 0x4A053525, 0x9F00A02C, 0xA66477D6, 0xEF093453, 0x8252E13C, 0x52A791B8, 0xAD702597, 0xC4E780E1, 0x2DA38B5E,
    0x139345F0, 0x5B559E9E, 0x4BC9D464, 0xD92F5AE3, 0x954C3237, 0x2646D567, 0x8596E916, 0x346FE50B, 0x9BEB0A50, 0x4575313A,
    0x9E023EE1, 0x952A787E, 0x4AF19E14, 0x62D6DE72, 0xA55F4BB7, 0xC25C9E59, 0x7671FD5C, 0xB23FC344, 0xA668BD58, 0xE9D0A754,
    0x71E9F848, 0xD65672AB, 0x3269F52A, 0xCA24523A, 0x62275839, 0x9891281C, 0xF57D5F07, 0x8BD49580, 0x8CA1F862, 0x77FC6BAB,
    0xC046875A, 0x53947261, 0x25D0D24C, 0x93EE3C61, 0xA06A3582, 0x04817562, 0x7014DAF3, 0x12D7755F, 0x67C86494, 0x3C8E12D9,
    0xD683A7D3, 0x3D0E1CDA, 0x913EE785, 0xF44E8C1B, 0x5AD66C10, 0x8444FEE6, 0x1246F63D, 0xE3869DBE, 0xF4BD3B1B, 0x8858B873,
    0x9579FF89, 0x0BCC8873, 0x583C1363, 0x41FA4B33, 0x106AB8F9, 0xFD073E81, 0xCE3DC24B, 0xFA5BA8D8, 0x000E9BA0, 0x52AFA755,
    0xFC9F84E8, 0x9230C4E0, 0x07B30A45, 0x522D27A7, 0xBA47B6C7, 0x5C8A567B, 0x9558DE70, 0x50AE2BF1, 0x5DAECEB3, 0x40E3A6C9,
    0x1DA5E3DE, 0xBDDB1C89, 0x5FF3948C, 0x3A6BEF24, 0xFE52AF5E, 0x65929CB9, 0xE5EA3D27, 0x6B71200B, 0x7F053996, 0x71F44645,
    0xFBAC6E2C, 0xB64AA7AA, 0x4BCE452B, 0x03CD54F5, 0x15A8F63F, 0xC662256D, 0x2AFE1AA4, 0x1F0114BB, 0x8E33B875, 0x15F23FBE,
    0xCBA10322, 0x615283FE, 0xAD1471C9, 0x17BB8D56, 0x35102544, 0xD123B4F0, 0x2D1AFDE3, 0x3008E6D0, 0x64624AED, 0xC6576906,
    0x05AAB725, 0xFCCB4673, 0x757DFFB3, 0xA3F73C0D, 0x40CBC9C0, 0xA5018997, 0xD141FEF2, 0x23A9624C, 0x976DEABB, 0x91F03EE3,
    0xD69C61C5, 0x74758680, 0x0431700C, 0xD528566C, 0x50FBABAC, 0x2B25C46B, 0xF221ACF2, 0xCB1F788B, 0xE857171E, 0xB9162DFA,
    0x4B7B944A, 0x331AE880, 0xA167E2FF, 0x417281BD, 0xE9F166C9, 0xB1125EF1, 0x512EF17A, 0x3C6534FF, 0xA83C0061, 0x0CCAE600,
    0xD99E30CD, 0x71329A60, 0xE15C5010, 0x0F029CC3, 0xF5E4D3E8, 0xC6165ED9, 0xC4DF839E, 0xA9B07FB8, 0x258B507F, 0x69B46647,
    0x18A0CDAF, 0x415251F0, 0x518DB78A, 0xF85E3494, 0x1B8D6A51, 0xAE0424ED, 0x6F004B93, 0x5B5712FA, 0x4998C05D, 0xCD76702D,
    0xB5279887, 0x5735A561, 0x3087AFCA, 0x9F141CBF, 0x3B136F57, 0x4D7D0B54, 0xBA288DE8, 0xFA6492D0, 0x76708709, 0xBB28AF16,
    0xD5D0CB75, 0xD6C400F0, 0x2C5A0E32, 0xDA2E95C2, 0x7E53C4A4, 0x91EBA409, 0x6A2A294E, 0xFFDADA4C, 0xC3BFB80A, 0x2F8AFD86,
    0x00440FDA, 0xDF06C68A, 0x92D8C1E4, 0x442AD3B4, 0x3BECF46A, 0x867FBC5F, 0x09131A5A, 0xDC6FA84B, 0x3191EE9E, 0x7FD379B2,
    0x45FEA992, 0x45152506, 0x2D200702, 0xB2E10401, 0xB5C96509, 0x2292D52D, 0xD256F5CE, 0x6FF85D84, 0xE8DD23EB, 0x8AA67359,
    0xBF870211, 0x89DCE177, 0xDEE5D54D, 0x8A264D6F, 0xC87B1B3D, 0x8BFE766F, 0x54E5EB42, 0x30E62596, 0xDBE33927, 0xBC141AD9,
    0x9B40A564, 0x6221AFD5, 0x7EBD5555, 0x717009B8, 0xB0D6CFBC, 0xE5893FB0, 0xCE3994A4, 0xA9AB8706, 0x5805260C, 0x09FC3DBB,
    0x61DECD52, 0xC01C32A4, 0xBFC6F312, 0x1DC14399, 0xD6755F80, 0x726BD49D, 0xE7338F98, 0x86D60D7E, 0xB2E24185, 0x02E62F90,
    0x01209F51, 0x0E0749AA, 0x35D77CB6, 0xE23403E3, 0x6C9FA9B0, 0x7263784F, 0x97625311, 0xC0C515D9, 0x8D209F1C, 0x84E7FCCF,
    0x965FCEC4, 0x54E45974, 0x1122C210, 0xA957AC87, 0x8989BCB0, 0xC6443932, 0x1C5AF199, 0x9E010F68, 0xF3A6CEBC, 0x69336E69,
    0x825539C6, 0x4F3D2D3E, 0x081AB31F, 0x0904F8F4, 0x81E329F0, 0xFF0A4267, 0x4B560985, 0x5359B0F7, 0x3E380778, 0x15A4BE51,
    0x94E9099E, 0x0EB66E3A, 0x4B13BDDF, 0x1F4AF0A8, 0xF32F0F9A, 0x6DA1501E, 0xABA1A29B, 0x882C7BF5, 0x025F6ECF, 0xA0A20F60,
    0xA2293B76, 0xD6CFF304, 0xD2B28348, 0xD200D17D, 0x33264B3D, 0x331E51ED, 0x0C29ABF0, 0x9BD5729C, 0x803831DE, 0x58A5BC5C,
    0x94B520F3, 0xD1EADD2C, 0x00F40FED, 0xF7C4C055, 0xF246BB77, 0x345C8434, 0xE514C20D, 0x55044EA4, 0x78762002, 0x5F98729E,
    0xE549263C, 0xCBAA638C, 0xB19E983B, 0x1F1C7043, 0x53A82713, 0x54338172, 0x12F2D45E, 0x15574F1A, 0x75FB9AD5, 0xB5F5CF31,
    0x7357E84C, 0x66CABCF7, 0x1F211901, 0x72FE8337, 0xCAAC7106, 0x8E88BBE5, 0xC9A0B7B1, 0x65D9340A, 0x211FA153, 0xA9F43D56,
    0x863269EC, 0x0E07C18F, 0x9BFAC04D, 0xECA2BD2F, 0x5EA4D060, 0x4DA25404, 0x26767DDE, 0x19771073, 0x952E4ACC, 0x18F0FFEE,
    0xC5888C19, 0x51ACB339, 0x8558C878, 0x0F2DC4CC, 0x5631097E, 0x3D0821EE, 0xE0D10433, 0x5CF2D86E, 0x9C54E7A4, 0x04C51D37,
    0x924F1B8D, 0xF41F6FD3, 0xD52BABC6, 0x9D5E36E1, 0x7E19E26D, 0xA1EAF4BA, 0x486133BE, 0xF5CE52F1, 0x2DA0449B, 0xED1A82E0,
    0x4F7E852E, 0x1AC3D452, 0x5788F4A5, 0x09B89783, 0x42F67A88, 0x922C6816, 0x1538D604, 0x68EAB0CC, 0xC02A1545, 0x24A7D6D7,
    0xED724C41, 0x450001FA, 0x9EBC493A, 0x50E74ED7, 0xC8D7C5AA, 0xDC703D46, 0xBA88A789, 0x42FEBB7D, 0x8001923E, 0x1D7A8CBB,
    0xAC36600F, 0xA6A044E8, 0x5DC19DF4, 0x408AD5C1, 0x12AC9E10, 0x4FFFD7DF, 0x68E65180, 0x2DF3A4F0, 0xD5229243, 0xE0F4CF92,
    0x3BFBE95F, 0x32F165F1, 0xB39672D2, 0x27F5C084, 0x1E8E2A6B, 0x93CB38B9, 0x545999AA, 0xAF5B48F2, 0x9EF34BB9, 0x752E1E2F,
    0xDA169B1C, 0x7E3E1170, 0x33D23F69, 0x43F5FDCA
};

#elif defined(FATE_HA)

const ULONG CCxdec::m_EncryptBlock[0x400] =
{
    0x636E4520, 0x74707972, 0x206E6F69, 0x746E6F63, 0x206C6F72, 0x636F6C62, 0x2D2D206B, 0x61745320, 0x61636974, 0x20796C6C,
    0x6420726F, 0x6D616E79, 0x6C616369, 0x202C796C, 0x65726964, 0x796C7463, 0x20726F20, 0x69646E69, 0x74636572, 0x202C796C,
    0x6E697375, 0x68742067, 0x70207369, 0x72676F72, 0x61206D61, 0x6F2F646E, 0x6C622072, 0x206B636F, 0x6D6F7266, 0x68746F20,
    0x70207265, 0x72676F72, 0x20736D61, 0x6C6C6977, 0x20656220, 0x656C6C69, 0x206C6167, 0x74207962, 0x6C206568, 0x6E656369,
    0x61206573, 0x65657267, 0x746E656D, 0xB182202E, 0x7683CC82, 0x4F838D83, 0x80838983, 0x7583E282, 0x62838D83, 0xF0824E83,
    0xC3904181, 0xC5824993, 0xEA82A082, 0x4993AE93, 0xA082C582, 0x4181EA82, 0xDA90BC92, 0xC5824993, 0xEA82A082, 0xDA90D48A,
    0xC5824993, 0xEA82A082, 0xBC914181, 0x7683CC82, 0x4F838D83, 0x80838983, 0xE782A982, 0xA2827097, 0xB182E982, 0xCD82C682,
    0x43838983, 0x93835A83, 0xC9825883, 0xE882E682, 0xB682D68B, 0xEA82E782, 0xA282C482, 0xB782DC82, 0x8E0A4281, 0x82EE91A9,
    0x82418BC9, 0x96C682E9, 0x82AA8285, 0x82B182C9, 0x82B182C9, 0x8FC482B5, 0x827D8C6F, 0x82C482A6, 0x82EA82AD, 0x0A4281E9,
    0xAC8F7581, 0xCC82B092, 0xD19475E0, 0xDF826C8B, 0x5C83F082, 0x5A835B81, 0x57835B81, 0x7697CC82, 0xC582CC97, 0xEA82E282,
    0x6D20CE82, 0x79616C70, 0xAA827265, 0xB690C48D, 0xEA82B382, 0xE5914181, 0x9A8ECC82, 0xC882C982, 0xBD82C182, 0xD491F38F,
    0xCC82C582, 0x578F4181, 0xC8826392, 0xA982F182, 0xC882CF95, 0xB682B48A, 0xDF8BC982, 0xF38FA282, 0xC582D491, 0x5B81CD82,
    0x910A7681, 0x82CF958A, 0x82E782ED, 0x82BD89B8, 0x82BE8CF0, 0x82C482C1, 0x82CC82E9, 0x82ED82A9, 0x82E782A9, 0x82A282C8,
    0x824181AA, 0x82D482BD, 0x826C96F1, 0x8CBD8AF0, 0x82B5827D, 0x82AD82C4, 0x82C482EA, 0x82E982A2, 0x82BE82CC, 0x81A482EB,
    0x8FDE9442, 0x82CD8297, 0x82C982C8, 0x82E282E7, 0x82EA82A4, 0x82B082B5, 0x827581C9, 0x82E982DF, 0x82CD82CD, 0x82CD82DF,
    0x81AF82EA, 0x82EA824B, 0x82EA82AF, 0x82EA82AF, 0x82CD82EA, 0x82CD82EA, 0x82EA82CD, 0x82EB82DF, 0x81EB82DF, 0x8CC68276,
    0x82A282BE, 0x82AA82C8, 0x964181E7, 0x8ACC826C, 0x8FC68293, 0x828592E3, 0x82F38EF0, 0x82E68EAF, 0x81BD82C1, 0x940A0A42,
    0x82978FDE, 0x82B182AA, 0x82C882A4, 0x82C482C1, 0x82DC82B5, 0x82BD82C1, 0x82CD82CC, 0x82B582BD, 0x83EA88A9, 0x918E8C96,
    0x82BE824F, 0x82BD82C1, 0x82EB82BE, 0x81A982A4, 0x82859642, 0x97BF97CD, 0x8286929D, 0x82B182C9, 0x82C882F1, 0x82C682B1,
    0x91FB8CF0, 0x82C18296, 0x0A4281BD, 0xAE8A7581, 0xC9825391, 0xDF82E297, 0xE782BD82, 0xBB8D4181, 0xF0829C93, 0x67353120,
    0xA682C189, 0x4181C482, 0xAA95BC94, 0xE782AD82, 0xAC8DA282, 0xC182B482, 0xC682BD82, 0xEB82B182, 0x4181C582, 0xD19475E0,
    0x93835483, 0x4181CD82, 0xA482E082, 0x4F8EF193, 0xC5826C90, 0x7681B782, 0x826C960A, 0x82A082CD, 0x82C482ED, 0x97BF97C4,
    0x82F0829D, 0x82DF82E2, 0x81B982B3, 0x8FDE9441, 0x8BF08297, 0x82DC8278, 0x81BD82B9, 0x82859642, 0x8CBD89CD, 0x95A98ECC,
    0x97AA82AA, 0x829D97BF, 0x82E282F0, 0x82B382DF, 0x82E782B9, 0x82BD82EA, 0x97A982CC, 0x82F0899D, 0x82AB82C5, 0x82A282C8,
    0x82A482E6, 0x8F5C95C8, 0x82BE82EE, 0x82BD82C1, 0x824181AA, 0x88EA82BB, 0x818897C8, 0x8FDE9441, 0x8CCC8297, 0x827497BE,
    0x899D97CD, 0x947395F0, 0x82C9825C, 0x82C182C8, 0x0A4281BD, 0x8FDE940A, 0x8CCD8297, 0x82C182BE, 0x82A282C4, 0x82B182E9,
    0x88AA82C6, 0x95A196D3, 0x82BE9673, 0x82BE82C8, 0x81C582AF, 0x8D768E41, 0x91A98E6C, 0x82CD82CC, 0x82C682DC, 0x82C882E0,
    0x82A482E6, 0x82CC82C8, 0x8D4181C5, 0x82DF8BC5, 0x82A082CD, 0x96E882DC, 0x8BE0826C, 0x82C98243, 0x82C482B5, 0x82C882A2,
    0x824281A2, 0x82C682E0, 0x88C682E0, 0x82A895C0, 0x82A982BE, 0x824181E7, 0x82A282C6, 0x82CC82A4, 0x82A082E0, 0x824281E9,
    0x82C182C6, 0x8EC982AD, 0x82BD96F5, 0x82DF89CD, 0x82C482AC, 0x82E982A2, 0x82AF82ED, 0x81B582BE, 0x97BF9741, 0x96EA909D,
    0x83CC82E5, 0x83938341, 0x838D8368, 0x82688343, 0x8EC689C9, 0x94539196, 0x82F082CA, 0x82E782E2, 0x82C482B9, 0x82E982A2,
    0x82BE82F1, 0x89E782A9, 0x898995DF, 0x82AA82D7, 0x82A982A9, 0x82C482C1, 0x82CC82E9, 0x82AA95CD, 0x82C182A9, 0x82A282C4,
    0x0A4281E9, 0x82C6820A, 0x82BE8CCD, 0x82C482C1, 0x816381E0, 0x81638163, 0x97BF9742, 0x8286929D, 0x827581C9, 0x8EE082C5,
    0x83E082E8, 0x836F836C, 0x816F836C, 0x82C28260, 0x82C582A2, 0x82438EC9, 0x83BD82C1, 0x8355834D, 0x8355834D, 0x83898374,
    0x83708343, 0x83E08293, 0x836F836C, 0x816F836C, 0x82C28260, 0x82C582A2, 0x82438EC9, 0x83BD82C1, 0x8355834D, 0x8355834D,
    0x83898374, 0x83708343, 0x83E08293, 0x836F836C, 0x816F836C, 0x82C28260, 0x82C582A2, 0x82438EC9, 0x83BD82C1, 0x8355834D,
    0x8355834D, 0x83898374, 0x83708343, 0x83E08293, 0x836F836C, 0x816F836C, 0x82C28260, 0x82C582A2, 0x82438EC9, 0x83BD82C1,
    0x8355834D, 0x8355834D, 0x83898374, 0x83708343, 0x83E08293, 0x836F836C, 0x816F836C, 0x82C28260, 0x82C582A2, 0x82438EC9,
    0x83BD82C1, 0x8355834D, 0x8355834D, 0x83898374, 0x83708343, 0x83E08293, 0x836F836C, 0x816F836C, 0x82C28260, 0x82C582A2,
    0x82438EC9, 0x83BD82C1, 0x8355834D, 0x8355834D, 0x83898374, 0x83708343, 0x83E08293, 0x836F836C, 0x816F836C, 0x82C28260,
    0x82C582A2, 0x82438EC9, 0x83BD82C1, 0x8355834D, 0x8355834D, 0x83898374, 0x83708343, 0x83E08293, 0x836F836C, 0x816F836C,
    0x82C28260, 0x82C582A2, 0x82438EC9, 0x83BD82C1, 0x8355834D, 0x8355834D, 0x83898374, 0x83708343, 0x83E08293, 0x836F836C,
    0x816F836C, 0x82768160, 0x95A982C6, 0x8DCC8940, 0x82B682AC, 0x89C582E8, 0x82ED82CC, 0x82E982EA, 0x824181C6, 0x82C182A2,
    0x89A282BD, 0x90F082BD, 0x82ED8248, 0x82EA82B3, 0x82CC82E9, 0x8FF194A9, 0x95C982ED, 0x82C08873, 0x82C882C9, 0x0A4281E9,
    0x3352DAE3, 0xFE7FBBC8, 0x530726E2, 0x0B0B6A5C, 0x3F8E7C1B, 0x9E83EBA6, 0xD862D16B, 0x96833C47, 0x90FAAB82, 0x68DD887D,
    0x1ADB742E, 0x4A144233, 0x7D5E3489, 0x9B97858B, 0x31CA3E74, 0x176FA1AF, 0x50002D31, 0xC9ED50B3, 0x0B43F032, 0x9B7A9000,
    0x152AF338, 0xAF99126E, 0x84F0F530, 0xEF343F2B, 0x56A73903, 0x1B8F8FF7, 0x2CED9C95, 0x2BF3CC9E, 0x50F92BD2, 0xC097F72D,
    0x3186941B, 0x748F6BA9, 0x051A6DB7, 0x49222467, 0x480A9796, 0xEB497242, 0xA1A42653, 0x23732EBC, 0xBE7B9171, 0x40795CDE,
    0xE747A84C, 0xB24C747A, 0xAC5F7C33, 0xAECC949E, 0x79DDBC1E, 0x1FB8041E, 0x322B7286, 0x51C54C41, 0x9ADB2244, 0x19B76625,
    0xFC983D82, 0x205C46BC, 0x0F631E1B, 0xE4F0DC32, 0xDA009501, 0x7D15F9DA, 0x3FEE2109, 0xE89FF4B7, 0x2C22F16C, 0xAB7220BA,
    0xB011BF20, 0xC3D99AD1, 0x166C690D, 0x5822B78D, 0x4B591355, 0x59256FDD, 0x092EF22C, 0xD1079E79, 0xB93FD41C, 0x62482730,
    0x0BEF33A6, 0x0E3AAAB9, 0x38363BE9, 0xAD823B1E, 0xDFD45E15, 0xA629216C, 0xD15D3A9F, 0xEC738395, 0xE074C963, 0x0E2C0E17,
    0x11898CD7, 0x676BBF01, 0x913C273A, 0x547C0EAE, 0x1BEEEF52, 0xCC277D8A, 0x6127D997, 0x19DC72C1, 0x0B164FC9, 0x2030E5E3,
    0xA6955244, 0x48A44E6D, 0x64C8389D, 0x8732FCDD, 0x3F27532E, 0x589278A8, 0x58E5F2A8, 0x01B3AF33, 0x27D0BB30, 0x715DDC19,
    0x8C1719FD, 0xB0F8B8EF, 0xF068EA36, 0xB4AEC7BE, 0x7364A6F5, 0x4DD7EE25, 0xE434CE7F, 0x14450AE7, 0x754A7044, 0xF3710048,
    0xE9012754, 0x9D0C09CA, 0x6993DED3, 0xD5165B33, 0xBD5B4E84, 0x1A903B52, 0x58235AC9, 0x3D17A681, 0xF85FA46C, 0xD654CCA9,
    0xDB79B57C, 0x840043E7, 0x2A7042AA, 0xD1722963, 0x3EBABBB3, 0xCE7BFF79, 0x3D32D4AA, 0xF42C3478, 0xFE2B1999, 0x03F26373,
    0xB508739B, 0xFB6720CF, 0x09691891, 0x4E0EC252, 0xAE7DB8FC, 0x6351259B, 0x1CDA78DA, 0x03A60F99, 0x7C797F1A, 0xC96D70DA,
    0xE95E1F77, 0xA75B41C0, 0xC1E9ABE5, 0x62635E88, 0x9234DBD4, 0x87927F64, 0x328C978A, 0x5515EF8D, 0x689FBEE7, 0xC5EB0A20,
    0x02F1488A, 0x039759DB, 0x017F476E, 0xE885EF1E, 0x4DDE43E5, 0xDD5784B6, 0x91F0274C, 0x6B8E055F, 0x2387EEA9, 0x2E26AA44,
    0x0F941BE2, 0x51A09E27, 0xC5B21C66, 0x713EEC34, 0x32ECE375, 0xAE97DA30, 0x58DBD23E, 0x4D8CC936, 0x8420D782, 0xC1492F35,
    0xEC9E1091, 0x26D6778E, 0x2FD38A71, 0xF9EDC589, 0x19083BDD, 0x8E182F68, 0x3FA44361, 0x0DB8DCFE, 0xE27B5227, 0xD5444BDD,
    0xFF390E68, 0x395D6B72, 0xF139466C, 0xB6405B23, 0x9FE5E4A6, 0x5CFD1C90, 0x1EF856D0, 0x6BBD1FFE, 0xAE72F052, 0x9F45704C,
    0x821FA2D6, 0x99FDDF59, 0xDCFA1ACD, 0x2BE6C359, 0x6996371D, 0x667BB192, 0x5ADC092F, 0xC2897D77, 0x007B5559, 0x2449A28B,
    0x2DD35457, 0x791AE3A0, 0x631C345C, 0x5FCE41CE, 0x3814737E, 0x8CD1D1AB, 0xE428F5C9, 0x54461F83, 0xE09FD915, 0x0A93A12B,
    0xAEA2CFA2, 0x2D97718A, 0x0D8D0C16, 0xA9967B80, 0x28806F3B, 0x3E9AA34A, 0x67E300F1, 0x35DE8D16, 0x7F197EC8, 0xFB3D7FE7,
    0xE85E09E1, 0xACFA2367, 0xEDF4735B, 0x3769927E, 0xB7477796, 0x661CB493, 0x327EC8B9, 0x5D3A6202, 0x5372308B, 0xFC2141CF,
    0x6A8775F6, 0x1A03D396, 0x894A30C2, 0x9E73A916, 0x256D2007, 0x269E6E62, 0xB7F91C57, 0xF12F6400, 0x5312BEF1, 0x97874F06,
    0xAA2D5F8C, 0xA01C1556, 0x797BF458, 0xAEF90591, 0x46F47BAA, 0xB8F29CD4, 0x37C02770, 0x2F5B059A, 0x7CB38DD8, 0x82E5F29E,
    0x65598B92, 0x24F2625A, 0x8F3BD27F, 0x66887F6A, 0xF5816461, 0xB9E64831, 0xF466D6A4, 0x436ED2E0, 0xB3C68233, 0x0694812F,
    0xEF696892, 0x4E568723, 0xC499B570, 0xE124FE3E, 0x9AA32EAF, 0x21AE9520, 0xC25AF28C, 0x2BFE7016, 0x1C6C46B6, 0x4A4391F4,
    0xA8A13561, 0xA675E109, 0x0DE997CC, 0xDFDDB6A6, 0xB50060F2, 0xBB51D8D8, 0xCB09CD8F, 0x0949FF2A, 0x01424098, 0x59D0C1DC,
    0x2F106BA5, 0x978A2FFF, 0xB0E3628B, 0xB3C49D02, 0xF8936EC9, 0x8C48E791, 0xAD407594, 0x212BBF58, 0x622F18E3, 0xB3957FC9,
    0xFE378317, 0x95A37F33, 0x007A7310, 0x29B4301B, 0xD2DB4890, 0x2C93942E, 0x63B35E86, 0x73253B49, 0xFFC00E15, 0x223A4CB3,
    0xEA29B4E5, 0x0A05EBE0, 0xA7ED40E0, 0x642AF8A6, 0x3DDF4373, 0x6CB1490A, 0x932AF719, 0x379D2BDB, 0x3CA462AF, 0xAC75E7AA,
    0x78E2BCAB, 0xD092AA5C, 0x52340EE0, 0x0458A593, 0xF262D40E, 0xBEB08247, 0xC1833EA8, 0x6245BB05, 0x262AA91B, 0x8384FE6E,
    0x560EDF0B, 0xA93D1E58, 0x2599FFAD, 0x3A81CED8, 0x89E0E20C, 0x0146D0A4, 0xA646CC2F, 0xABCE1850, 0xD599E4B2, 0x88B2994C,
    0x8BE795CB, 0x3D1D7204, 0x2668A71F, 0xA2B172CE, 0xFF53FEFB, 0x84BFB588, 0x5A462419, 0xB7A2FE27, 0x87250A79, 0x72145014,
    0xCF312DF3, 0xF5D2860D, 0x7F696A53, 0xE33CE2E3, 0x8659B857, 0x9E5B3645, 0xBEEFE2E2, 0x451F5155, 0xA0126685, 0xB9772EFF,
    0x733901A3, 0x5F3DC23E, 0x20EC0C69, 0xE6BD1197, 0x6ACA7801, 0x76C8F268, 0x7A545AA2, 0x47846796, 0xD2077679, 0x913E7D1D,
    0xF1DCD29D, 0x52AFC4D1, 0xA9C93A58, 0x2C5E8351, 0xBD95639B, 0x8571EB48, 0xA5EB5279, 0x69503BC9, 0x05597EC8, 0xE4A9066A,
    0xC0896A3B, 0x4EB26A6D, 0x239B7046, 0xF4380DE0, 0x75D1B089, 0xA9E63C0A, 0x7FB85BC2, 0xF389126F, 0xF3B40F13, 0x4A2A0E95,
    0x35FBC6FD, 0xD4E903BB, 0x25680154, 0x680C1292, 0x93234335, 0xBDC03990, 0xFE91F10C, 0x5F12DCFB, 0x55106A6D, 0x6CF807CB,
    0x193547C8, 0x104AE412, 0x8A8669B1, 0xC1F64E12, 0x9D612FE7, 0x23C8A3E6, 0xE589A8A7, 0x55ECD558, 0xC8105D68, 0x6275AB02,
    0x74D2921B, 0x0250A7FC, 0xB3807B08, 0xB0AE1ADF, 0xDA386E12, 0x4B51C0AA, 0xCF14DE59, 0xEFDE787D, 0x5E0CD759, 0xD99FFF9B,
    0x07DDDCEA, 0x5F6C7932, 0xD3C65097, 0x74F6EC61, 0xCF31A959, 0x9EEDABB3, 0x009D1559, 0x7082F94D, 0x24B7EA47, 0xF4797CBF,
    0xEDCE25F4, 0x642E142E, 0xAB7BF3E4, 0xDB71BD16, 0x2432ECD8, 0xC861B699, 0x16A795A2, 0x04F6F48D, 0x0DAD39FB, 0x2260F508,
    0xDD5A038E, 0xD24927DE, 0x143B222B, 0xB572DE16, 0x41068E3D, 0x668684B5, 0x2826E740, 0x1FD8D077, 0x6F7B773D, 0x19596855,
    0xF60EA06A, 0xDE152DA1, 0xDA80CCC1, 0x88CDE614, 0x4B1178EF, 0xEC774A2B, 0x820DFCDC, 0x951A931C, 0x3A4593BF, 0x71ABB2D9,
    0x6D9A673E, 0xE997574B, 0x94982E03, 0xEE1D1FE7, 0x4C0319A9, 0x22190DD5, 0xADB96BFB, 0xDAC911A3, 0xD7971E00, 0xA0B3168E,
    0xB83B5750, 0x10444930, 0x1326E4F8, 0x6D655277, 0x1CAFEF02, 0x2099F1F5, 0xCB93F520, 0xD3F1F96A, 0x2EBD513B, 0xFFF8EDD0,
    0x34E24ADE, 0x0A24305C, 0xE679287B, 0x59A6FE6E, 0x7FFB2FF4, 0xC34A2767, 0xEF649DED, 0x7D46FFD6, 0x51F6FC87, 0xD05C89B6,
    0x13F36121, 0xB115783D, 0xED81E869, 0xEE38AC6A, 0x9C0997A4, 0x5F5229E3, 0x0CE76CBF, 0x99ACC5B6, 0x2AB78B85, 0x680A7056,
    0x23AA7E10, 0x58372CB5, 0x6A6F14F2, 0x11D5973E, 0xDE0C64ED, 0xE2654DE5, 0xFAB63D3B, 0x53BD9140, 0xC4A1120E, 0x5CEC3965,
    0x8D17096C, 0xBE88DCC0, 0x9392BE35, 0x1258A1DC, 0x6338D0D9, 0x084CD4DB, 0x86E5EACA, 0x264CFB94, 0x12C7E57C, 0x693DED09,
    0xCD672B03, 0x4DFF92FC, 0xDC925F4B, 0xF2EA4A03, 0x3436F143, 0x359200E6, 0xD72BEF21, 0xF8D6447A, 0x7E516F04, 0x70A707B6,
    0x6C035C92, 0xE4FC556E, 0xAADB5549, 0xE04CD9FD, 0x1233949A, 0x15BADE09, 0x7067227B, 0x17B03BD4, 0xE30CCDEF, 0x70EAEEE4,
    0x5DAC87AF, 0x50AD9822, 0x788E83BE, 0xEEE54E50, 0xEE05A1CE, 0xC60F7C1F, 0x0F220A8C, 0xADC291F1, 0x03E94E1F, 0x7FEC68C6,
    0x85D7AEB8, 0x033676FF, 0x095A8BFB, 0xA33B6D37, 0xE78DB174, 0x08663C35, 0x541434D7, 0x72724457, 0xC8375C82, 0xAB21D486,
    0x653B543D, 0x5BF3C44F, 0xF63A21A8, 0x407BD2F4, 0x30238655, 0x6ABD3E4C, 0xB35EE8B2, 0x909EE31C, 0x894F84E8, 0xDA43BD2D,
    0x46EB6028, 0x6AF94D87, 0x0A5DB62F, 0x91B1389C, 0x60BE029B, 0x6167A40B, 0xA48477A3, 0xF4E4956F, 0xBBA34ADF, 0x1D00668A,
    0xD6B3DC4E, 0xE5442DE5, 0x1B9E1C27, 0x8D8BFDF2, 0x96481D18, 0xD10C9EB2, 0x88BC3688, 0x34302FDD, 0x613551EC, 0xA4F068EA,
    0x5F686E14, 0xEAC03972, 0xF14FBB46, 0x8A7700E9
};

#elif defined(NATSU_ZORA)

const ULONG CCxdec::m_EncryptBlock[0x400] =
{
    0x636E4520, 0x74707972, 0x206E6F69, 0x746E6F63, 0x206C6F72, 0x636F6C62, 0x2D2D206B, 0x61745320, 0x61636974, 0x20796C6C,
    0x6420726F, 0x6D616E79, 0x6C616369, 0x202C796C, 0x65726964, 0x796C7463, 0x20726F20, 0x69646E69, 0x74636572, 0x202C796C,
    0x6E697375, 0x68742067, 0x70207369, 0x72676F72, 0x61206D61, 0x6F2F646E, 0x6C622072, 0x206B636F, 0x6D6F7266, 0x68746F20,
    0x70207265, 0x72676F72, 0x20736D61, 0x6C6C6977, 0x20656220, 0x656C6C69, 0x206C6167, 0x74207962, 0x6C206568, 0x6E656369,
    0x61206573, 0x65657267, 0x746E656D, 0xB182202E, 0x7683CC82, 0x4F838D83, 0x80838983, 0x7583E282, 0x62838D83, 0xF0824E83,
    0xC3904181, 0xC5824993, 0xEA82A082, 0x4993AE93, 0xA082C582, 0x4181EA82, 0xDA90BC92, 0xC5824993, 0xEA82A082, 0xDA90D48A,
    0xC5824993, 0xEA82A082, 0xBC914181, 0x7683CC82, 0x4F838D83, 0x80838983, 0xE782A982, 0xA2827097, 0xB182E982, 0xCD82C682,
    0x43838983, 0x93835A83, 0xC9825883, 0xE882E682, 0xB682D68B, 0xEA82E782, 0xA282C482, 0xB782DC82, 0x930A4281, 0x827B96FA,
    0x884297C5, 0x8FCC82EA, 0x82C489ED, 0x818793CC, 0x8C839377, 0x818793B7, 0xAB890A78, 0xC682EA93, 0xED82CF95, 0xC882E782,
    0xDC88A282, 0xC9827893, 0xE882A082, 0xAA82C882, 0xEA88E782, 0xF0824E94, 0xB582CA92, 0x5E90C482, 0xC982C489, 0xA282DF8B,
    0xB789438B, 0xDB95F082, 0x7395C282, 0x638B768E, 0x8793C882, 0xA082C582, 0x4281E982, 0x8CBD890A, 0x82BB82CC, 0x95C882F1,
    0x8B768E73, 0x8BAA8263, 0x82B1824E, 0x82BE93E8, 0x82CC82E9, 0x0A4881A9, 0xEA82BB82, 0x438ACD82, 0xCE89EA92, 0xA982528E,
    0xAD82E782, 0x438AE982, 0xCC82AC97, 0xBF8B6589, 0xC782C882, 0xBE8CC682, 0xEA82ED82, 0xA282C482, 0x4181AA82, 0xEA82C782,
    0x5C89E082, 0xE688CC82, 0x6F8FF082, 0x4181B882, 0xC08E5E90, 0x6D92F082, 0xD28EE982, 0xA282CD82, 0xA282C882, 0x63816381,
    0x63280A0A, 0x30303229, 0x5A555938, 0x464F5355, 0x554A2F54, 0x69534F4E, 0x0A2E636E, 0x8A7C810A, 0x9648899D, 0x8FCC82EB,
    0x0A7C81CD, 0x8B7E930A, 0x82DD8278, 0x979897F0, 0x81B58270, 0x82879341, 0x837983C5, 0x83568393, 0x82938387, 0x896F8CF0,
    0x82B78263, 0x95668FE9, 0x82CC82EA, 0x82C682E0, 0x824B96C9, 0x81BD82EA, 0x91A99277, 0x91739171, 0x0A7881BE, 0x93837983,
    0x87835683, 0xC5829383, 0x8B834183, 0x43836F83, 0xF0826783, 0xC882B582, 0xE782AA82, 0x85965D8F, 0xA082C582, 0x7781E982,
    0x448D4F8E, 0xE4945297, 0x7881718E, 0x77814181, 0x74976F91, 0x6F8E7881, 0xE2828596, 0x63974181, 0xF590E993, 0x7781CC82,
    0x708A5A98, 0x5998DC8C, 0xC6827881, 0xB582798A, 0xFA93A282, 0xF0825881, 0xB282DF89, 0xC482B582, 0xAD82A282, 0x0A0A4281,
    0xF182BB82, 0x8692C882, 0x73914181, 0xCD82BE91, 0xBF82A797, 0xC182F18A, 0x698BBD82, 0x58938392, 0xEA88C582, 0xCC826C90,
    0x978FAD8F, 0x6F8FC682, 0xC182EF89, 0x4281BD82, 0x82438B0A, 0x82AD82B3, 0x82BE96C5, 0x81A282E9, 0x8DE38F77, 0x899D8AE2,
    0x81EB9648, 0x82C68278, 0x8FA482A2, 0x82978FAD, 0x97F08CC6, 0x90F082AC, 0x82DF825B, 0x917391E9, 0x0A4281BE, 0xB582798A,
    0xC982B082, 0xB7826298, 0xBF82A482, 0x4181C982, 0xBE917391, 0xDE94CD82, 0xA982978F, 0x8395E782, 0xCC826590, 0xB6906192,
    0x7683FA93, 0x5B838C83, 0x67839383, 0x8A91CC82, 0xF0826B92, 0xAF82F38E, 0x4281E982, 0xBE960A0A, 0xFA93E38C, 0x6192C982,
    0xFA93B690, 0x548DF082, 0xC882A682, 0xE782AA82, 0x4181E082, 0xBE82DC82, 0xE982A191, 0x8C837683, 0x93835B83, 0xC9826783,
    0xDF82888C, 0xCB82A982, 0xA282C482, 0x9D8AE982, 0xEB964889, 0x910A4281, 0x82BE9173, 0x8C5E90CD, 0x94C88295, 0x82978FDE,
    0x928A91CC, 0x8FC9826B, 0x81E882E6, 0x83418341, 0x836F8368, 0x82588343, 0x82738DF0, 0x824181A2, 0x82F182C8, 0x83A982C6,
    0x838C8376, 0x8393835B, 0x8ECC8267, 0x82EC8DE8, 0x815083E8, 0x824C835B, 0x82EC8DF0, 0x82E38FE8, 0x82E982B0, 0x82C682B1,
    0x8CAC90C9, 0x82B782F7, 0x0A4281E9, 0x82EC8A0A, 0x82878DD1, 0x90F193A4, 0x81CD826C, 0x8FEA8841, 0x89C9828F, 0x82B282DF,
    0x8A9E8EB7, 0x92CC82D4, 0x81C58286, 0x82DD8C41, 0x92C982A2, 0x97A28257, 0x82E795F6, 0x82F895F0, 0x82E682AD, 0x82C982A4,
    0x82C182C8, 0x82A282C4, 0x0A4281BD, 0xE982DC82, 0xE48EC582, 0xEA82A982, 0xA482878D, 0xC682B182, 0x5E89AA82, 0xC582BD96,
    0xE982A082, 0xCC82A982, 0xA482E682, 0x4281C982, 0x82BB820A, 0x93C482B5, 0x826C90F1, 0x974181CD, 0x82E9955B, 0x95CC82EA,
    0x82D3956C, 0x82B193C5, 0x82EA82A9, 0x82E682E9, 0x83C982A4, 0x8258834C, 0x82F08CF0, 0x81B782ED, 0x8F0A0A42, 0x82EA82C6,
    0x82AA82C8, 0x829691E7, 0x828E8BE8, 0x899D8AE9, 0x81EB9648, 0xBB820A42, 0x708ECC82, 0x4181F082, 0xCD82E282, 0xC68FE882,
    0xC882EA82, 0xE782AA82, 0x9791A98C, 0x7391E982, 0x4281BE91, 0x9382970A, 0x82C982FA, 0x81E882C8, 0x91739141, 0x8DCD82BE,
    0x90FA93F0, 0x92CC8253, 0x90C98286, 0x82DC82B6, 0x8DBD82EA, 0x8A9F954B, 0x90C982B4, 0x82E8825A, 0x82AA82C8, 0x8B4181E7,
    0x93839269, 0x82D68258, 0x828B95C6, 0x81BD82A2, 0x96930A42, 0x41815291, 0x48899D8A, 0xC982EB96, 0xA482EF89, 0xDF82BD82,
    0x4B96C982, 0xBD82EA82, 0xBE917391, 0xC182BE82, 0xAA82BD82, 0xBB824181, 0xE690CC82, 0xCC91C582, 0xB582B18C, 0xCC82BD82,
    0x7A91CD82, 0xF0829C91, 0xB782A295, 0xA482E682, 0x6F8FC882, 0x968E8897, 0xC182BE82, 0x4281BD82, 0x75810A0A, 0xE082BB82,
    0xE082BB82, 0xA0824181, 0xBD82C882, 0x4E92CD82, 0xF182C882, 0xB782C582, 0x4881A982, 0x0A0A7681, 0xEF89C48D, 0xBD82B582,
    0x48899D8A, 0xCD82EB96, 0xBD82E297, 0xE296AD82, 0x4281A482, 0x82DC820A, 0x81C582E9, 0x826D9241, 0x82C882E7, 0x8A6C90A2,
    0x8CF082D4, 0x82E982A9, 0x82A482E6, 0x82B593C8, 0x917391F0, 0x8CC982BE, 0x82AF82FC, 0x816381C4, 0x0A428163, 0x91B19C0A,
    0x82C68252, 0x8EE982B7, 0x8C6C90E5, 0x8ACD82F6, 0x9648899D, 0x94CC82EB, 0x82A796E9, 0x826D92F0, 0x82B182E9, 0x82C982C6,
    0x81E982C8, 0x968E0A42, 0xC582CC8C, 0xFA8A5A92, 0xAF894C8B, 0x518AE18F, 0xD78AC982, 0xBD82C182, 0x978FAD8F, 0x63816381,
    0xAF894C8B, 0x4F8EF082, 0xB582FA93, 0xDB88A982, 0xC5829D8E, 0xC882AB82, 0xC682A282, 0xA482A282, 0xE28DE38F, 0x48899D8A,
    0x4281EB96, 0x6F8F0A0A, 0xA282EF89, 0x4181E082, 0x6C90F193, 0x5994C582, 0xBE82F182, 0xC682B182, 0x4181E082, 0x58834C83,
    0xB582F082, 0xB182BD82, 0xE082C682, 0x63816381, 0xC4825391, 0xED82B88E, 0xC482EA82, 0xDC82B582, 0xBD82C182, 0x48899D8A,
    0xCC82EB96, 0xAF894C8B, 0x0A0A4281, 0xCC82BB82, 0xEE8F968E, 0x6D92F082, 0xBD82C182, 0xBE917391, 0x4181CD82, 0x978FDE94,
    0x4C8BCC82, 0xC682AF89, 0xB3905E90, 0xA982CA96, 0xA797E782, 0xFC8CBF82, 0xA482A982, 0xC682B182, 0x888CF082, 0xB782D388,
    0x4281E982, 0x4C8B0A0A, 0xF082AF89, 0xFA934F8E, 0xA982B582, 0x9D8EDB88, 0xAB82C582, 0xA282C882, 0x978FAD8F, 0xE38F4181,
    0x9D8AE28D, 0xEB964889, 0xCC82C682, 0xEF896F8F, 0xAA82A282, 0x7191A992, 0xBE917391, 0xA895F082, 0xCC82EA8C, 0xD6828692,
    0xC1825597, 0xA282C482, 0x4281AD82, 0x82BB820A, 0x90C482B5, 0x82EA8247, 0x828793E9, 0x96E994CC, 0x81C682A7, 0x8FAD8F41,
    0x94CC8297, 0x81A796E9, 0x53910A42, 0xF082C482, 0xC1826D92, 0xF193BD82, 0xAA826C90, 0xAB82FC8C, 0xA482878D, 0xC08E5E90,
    0xCD82C682, 0x5C815C81, 0x0A0A4881, 0x52977C81, 0x718EE494, 0xCD8FCC82, 0x0A0A7C81, 0x788B7E93, 0xF082DD82, 0x70979897,
    0x4181B582, 0xC5828793, 0x93837983, 0x87835683, 0xF0829383, 0x63896F8C, 0xE982B782, 0xEA95668F, 0xE082CC82, 0xC982C682,
    0xEA824B96, 0x7781BD82, 0x7191A992, 0xBE917391, 0x830A7881, 0x83938379, 0x83878356, 0x83C58293, 0x838B8341, 0x8343836F,
    0x82F08267, 0x82C882B5, 0x8FE782AA, 0x8285965D, 0x82A082C5, 0x8E7781E9, 0x97448D4F, 0x8EE49452, 0x81788171, 0x91778141,
    0x8174976F, 0x966F8E78, 0x81E28285, 0x93639741, 0x82F590E9, 0x987781CC, 0x8C708A5A, 0x815998DC, 0x8AC68278, 0x82B58279,
    0x81FA93A2, 0x89F08258, 0x82B282DF, 0x82C482B5, 0x81AD82A2, 0x820A0A42, 0x82C282A2, 0x95C682E0, 0x82ED82CF, 0x93CA82E7,
    0x82C58287, 0x82E995CC, 0x81B582E7, 0xDD820A42, 0xC882F182, 0xA882C582, 0xE882D58D, 0xD489E282, 0xF082CE89, 0xB582798A,
    0x4281DE82, 0x82BE820A, 0x82A082AA, 0x81FA93E9, 0x91739141, 0x97C682BE, 0x8EE49452, 0x8FCC8271, 0x8285965D, 0x82A282C6,
    0x8CD68AA4, 0x81CD8257, 0x82768E41, 0x82CA82ED, 0x82B182C6, 0x95C582EB, 0x8BEA82F6, 0x81E9828E, 0x820A0A42, 0x82C682D3,
    0x82BD82B5, 0x82C682B1, 0x82AB82F0, 0x82A982C1, 0x81C982AF, 0x94529741, 0x82718EE4, 0x917391CD, 0x91C982BE, 0x82A2827A,
    0x826093F0, 0x82C482A6, 0x82BD82AB, 0x81BE82CC, 0xBE820A42, 0x4181AA82, 0x9F8B718E, 0xA08DCC82, 0xE782A982, 0x8F8FEA88,
    0xC182BE82, 0xB182BD82, 0xE082C682, 0xE882A082, 0x52974181, 0x718EE494, 0x438BCC82, 0xBF829D8E, 0xA28DC982, 0xB7826698,
    0x7391E982, 0x4281BE91, 0x82FC890A, 0x8EC482DF, 0x82AA95A9, 0x8E438BCC, 0x82BF829D, 0x82C282C9, 0x8DC482A2, 0x82A6826C,
    0x0A4281E9, 0xB582BB82, 0x4181C482, 0xE8824892, 0xA2828592, 0x9A93BD82, 0x6381A682, 0xA98E6381, 0xCD82AA95, 0xE4945297,
    0xCC82718E, 0xC682B182, 0x448DAA82, 0xBE82AB82, 0xA282C682, 0x438BA482, 0xBF829D8E, 0x0A0A4281, 0xCC82BB82, 0x9D8E438B,
    0xF082BF82, 0xBC92B390, 0x6093C982, 0x4181A682, 0xC182E282, 0xCC82C682, 0xC682B182, 0x4181C582, 0xAB827495, 0xA482878D,
    0xC682B182, 0xC882C682, 0xBD82C182, 0x6C90F193, 0x900A4281, 0x82EA82B0, 0x974181C4, 0x90E99363, 0x82A982F5, 0x90F697E7,
    0x82D6826C, 0x8CD68AC6, 0x90F08257, 0x82DF825B, 0x82A282C4, 0x0A4281AD, 0x82B5820A, 0x81B582A9, 0x824B8D41, 0x93C882B9,
    0x825881FA, 0x82B191AA, 0x82C482A2, 0x82AD82A2, 0x82768EC6, 0x82EA82ED, 0x92C58DBD, 0x93418186, 0x826C90F1, 0x824F91CC,
    0x825996C9, 0x828E8BEA, 0x82BD82C1, 0x82B882CD, 0x8BDF89CC, 0x97AA828E, 0x82BF82A7, 0x82B382D3, 0x82C182AA, 0x815C81BD,
    0x917D8B5C, 0x95C982AC, 0x8BEA82F6, 0x82C1828E, 0x82A282C4, 0x8FFA93AD, 0x81C982ED, 0x90F19341, 0x82CD826C, 0x97A482C7,
    0x8CBF82A7, 0x82A982FC, 0x82C482C1, 0x82AD82A2, 0x81A982CC, 0x0A488149, 0xB582BB82, 0x5297C482, 0x718EE494, 0x5996AA82,
    0x8E8BEA82, 0xBD82C182, 0x8E8BDF89, 0xCD82C682, 0x5C815C81, 0x0A0A4881, 0xB98D7C81, 0x85975881, 0x50788898, 0x0DE6227B,
    0x844DC440, 0xDE4E4175, 0xD421201C, 0x6B82D4D2, 0x8BB28F3E, 0x6CD1AB40, 0x54849DF3, 0xD07EBD05, 0x305A1DBA, 0xB126F2D3,
    0x4CBEC0FB, 0x2923A6F0, 0x94A6AE7B, 0xDF56EFD1, 0x16EAED49, 0x7BAA60A1, 0x182C0C58, 0x6B6FB9D2, 0x314C08BD, 0xA10CCC71,
    0xD4D4AACE, 0xA249B578, 0x4D78971F, 0xC2D3A50C, 0x225F8589, 0xFD14C567, 0x55AA43F6, 0x85E847A7, 0x1E9D6379, 0xA466566E,
    0x8D5D94CE, 0xB0656668, 0x4AA45510, 0x1ED1548E, 0x33090443, 0x89E55A34, 0x19628010, 0x446C3A01, 0x26205C84, 0xE3A063EC,
    0xF182C8F1, 0x28693F54, 0x99AF59D0, 0x33053250, 0xFE5A276A, 0x7620E300, 0x0045F9B0, 0x4D5B314F, 0x7D7F4007, 0x9DF19B5D,
    0xD7A87DE4, 0x312F4CC6, 0xDD202464, 0x9617924F, 0xE82B2198, 0xF3AC2660, 0xD47BC600, 0x3FE3D5CD, 0xD5108943, 0x721E6866,
    0xD8A6286C, 0xFFCF8EE7, 0xAD428755, 0xB090B1FF, 0x74E7639C, 0x940CC0E0, 0x4A5B5FC8, 0xAB915F12, 0x16DCA8D7, 0x6217C194,
    0xA23EA443, 0xF2EACD93, 0x2EF6E4B4, 0xF74070E6, 0x857DDFE3, 0xE49A4944, 0xC10B1BBE, 0x95427B79, 0x2F178713, 0xFB8D9214,
    0x6524AC1F, 0x58D27DFD, 0xD7424456, 0xB7E01275, 0x988DCFFA, 0x312A4FF7, 0x0F574F1B, 0x52D15691, 0x04FBB24E, 0xFA6BD5A0,
    0x96081539, 0x96CE8FB4, 0xAC03E24D, 0x1376D2C8, 0x9332B283, 0x3F74449A, 0x75AE0040, 0x644D3706, 0xAB40B566, 0x85625428,
    0xA61D4A3C, 0x6B3A7077, 0x5C69FB38, 0xE286EE54, 0x8903B4FD, 0xE075B93F, 0x5431550C, 0x5BEF7B44, 0xFEE57F0C, 0x7E581A57,
    0xA406852C, 0x6B1CA649, 0xF501001C, 0x8EFBC4AE, 0xE2A57DFE, 0x364BF257, 0x44658CEC, 0x6738FE8A, 0xA655F3E2, 0x619DC418,
    0xF2C6DC9E, 0xA0C845C8, 0x7ABAB9E3, 0x73217AED, 0xDAFDA399, 0x0246B55A, 0x2135E844, 0x5F08F461, 0x3CC54044, 0x1F996B18,
    0xD7A3D857, 0x18812AED, 0xB81F7859, 0xEFC0FB93, 0xE8AB6100, 0x529D3609, 0x24F07C13, 0xA4C24C2D, 0x06553CB6, 0x7ECBEB0C,
    0x57D18233, 0x257D8E84, 0xA300A785, 0xBBB0DE7A, 0xCD1230F6, 0x1F56D159, 0xA8DADEC5, 0x7D687C15, 0xB6724F82, 0xAA10F023,
    0x0EFD5F28, 0xF3EAC4B1, 0xF288559B, 0x93812641, 0x64E1C8DB, 0x8B436CEA, 0xE7DEFEC8, 0xAD28B9E9, 0xB8577B84, 0x12470290,
    0xCEF433F2, 0x563F8D32, 0x61DD1AA2, 0x1749D56D, 0x51C9C357, 0x3193124F, 0xC43E4773, 0xF5D9998C, 0xA108EAD4, 0x86E15979,
    0x5FF3061A, 0xEBBC8C45, 0x6F7B19C9, 0x6837BDFA, 0xABACDE38, 0xD1F4DE1F, 0x41211C59, 0x7ECFF567, 0x6EEB8706, 0xF3C4D26D,
    0x3F7EF938, 0x5B39BA0C, 0xA9BD34A7, 0xE980E6D5, 0x55AAFEDE, 0xF5300CF5, 0xB538932C, 0xDFDCB986, 0x927104D4, 0x3956DFAC,
    0xBAA0BC9A, 0xDA3BE0D1, 0x1BD56C26, 0xAEC4D0EC, 0xAB484C65, 0xA382C5B2, 0x62C97032, 0x729DE9A9, 0x05CB30AC, 0x80E588B7,
    0xA216C308, 0xC79C94DC, 0x60E3E774, 0x07085099, 0xE7FB73AA, 0xBB23D7A2, 0x81F65ED0, 0x7D12B641, 0x90A826DC, 0x6E4E93D5,
    0x656398DA, 0x66D79906, 0xA0541CD6, 0x6CFF2AFD, 0xA76BA6CA, 0x97EC7F3E, 0x5D57CBC2, 0xA6C1C8FE, 0xCFE6ECDD, 0x7216A199,
    0xE031C838, 0xB51B3A21, 0x8A1C7E71, 0x39DE7F7D, 0x15937C29, 0x3777B562, 0xC8CFC2A9, 0xEE07BC36, 0x0D86AE93, 0xC4C8B10A,
    0xBD0D6F84, 0x91EA75E4, 0x4AE44929, 0x2BAEDFA0, 0xCC924E2E, 0x72BC28C3, 0x61EBD46F, 0x60AA8E98, 0x55064885, 0x1034883C,
    0x8E9142AC, 0xB0BD8DD9, 0xBE4BC61B, 0xDA4ADFBB, 0x2DBC19B8, 0x51E955C2, 0xCE94D7E8, 0xFD759DE5, 0x8DA81E5F, 0xCC9DEDF6,
    0x94D9260B, 0xC69DE5B0, 0x4105DB6D, 0xB3B04B7E
};

#elif defined(TENSHIN)

const ULONG CCxdec::m_EncryptBlock[0x400] =
{
    0x636E4520, 0x74707972, 0x206E6F69, 0x746E6F63, 0x206C6F72, 0x636F6C62, 0x2D2D206B, 0x61745320, 0x61636974, 0x20796C6C, 
    0x6420726F, 0x6D616E79, 0x6C616369, 0x202C796C, 0x65726964, 0x796C7463, 0x20726F20, 0x69646E69, 0x74636572, 0x202C796C, 
    0x6E697375, 0x68742067, 0x70207369, 0x72676F72, 0x61206D61, 0x6F2F646E, 0x6C622072, 0x206B636F, 0x6D6F7266, 0x68746F20, 
    0x70207265, 0x72676F72, 0x20736D61, 0x6C6C6977, 0x20656220, 0x656C6C69, 0x206C6167, 0x74207962, 0x6C206568, 0x6E656369, 
    0x61206573, 0x65657267, 0x746E656D, 0xB182202E, 0x7683CC82, 0x4F838D83, 0x80838983, 0x7583E282, 0x62838D83, 0xF0824E83, 
    0xC3904181, 0xC5824993, 0xEA82A082, 0x4993AE93, 0xA082C582, 0x4181EA82, 0xDA90BC92, 0xC5824993, 0xEA82A082, 0xDA90D48A, 
    0xC5824993, 0xEA82A082, 0xBC914181, 0x7683CC82, 0x4F838D83, 0x80838983, 0xE782A982, 0xA2827097, 0xB182E982, 0xCD82C682, 
    0x43838983, 0x93835A83, 0xC9825883, 0xE882E682, 0xB682D68B, 0xEA82E782, 0xA282C482, 0xB782DC82, 0x810A4281, 0x835883A1, 
    0x835B8167, 0x0A5B818A, 0x90E58E0A, 0x81F68C6C, 0x8DE79045, 0x8E748FCE, 0x93CC82F7, 0x82ED8FFA, 0x828A8ECD, 0x95C482C1, 
    0x82B889BD, 0x82E082C8, 0x82C582CC, 0x82C182A0, 0x0A4281BD, 0x91678C0A, 0x828E97D1, 0x82B982C6, 0x828590CE, 0x0A8692CC, 
    0xAD82B396, 0xBD82B582, 0x7A95E08D, 0x9490CD82, 0xEA826D92, 0x8E0AB882, 0x8E5D93A9, 0x828691D4, 0x82C582A2, 0x8EE182E8, 
    0x82CC8C96, 0x829891C9, 0x8A4181A2, 0x95F08258, 0x82AF82E0, 0x828D97CE, 0x82EA82DC, 0x810A0AE9, 0x81638163, 0x82BD8263, 
    0x91A682C6, 0x90CC82BC, 0x82A9826C, 0x82B782E7, 0x95CE82EA, 0x824B8D73, 0x82C48CC6, 0x82E982D7, 0x82A482E6, 0x82B182C8, 
    0x82BE82C6, 0x82BD82C1, 0x82B582C6, 0x81E082C4, 0x82B18241, 0x93F692CC, 0x82CC8278, 0x82C682B1, 0x836783CD, 0x83758389, 
    0x82CC828B, 0x82BF82A4, 0x82FC93C9, 0x82C882E7, 0x82CC82A2, 0x944181AA, 0x82C982DE, 0x82C182C6, 0x957781C4, 0x81CA9281, 
    0x93CC8278, 0x82ED8FFA, 0x82A082C5, 0x0A4281E9, 0xF182BB82, 0x4181C882, 0xAB827390, 0xA282C882, 0xEE89EF96, 0xC682968E, 
    0xE882DC90, 0xA282878D, 0xC282F082, 0x4181AF82, 0x6198BD95, 0x48816981, 0xC9826A81, 0xE782E995, 0x748FB782, 0xCC82F78E, 
    0xC982B38C, 0x5C836781, 0x68818C83, 0x4B96CD82, 0xBD82EA82, 0x0A0A4281, 0xE982A082, 0x4181FA93, 0x5291CB93, 0xAF82CD93, 
    0xEA82E782, 0xEE91BD82, 0xD6957A94, 0x880A4281, 0x82BC96B6, 0x82C882E0, 0x8D4181A2, 0x906F8FB7, 0x8FE0826C, 0x82A98291, 
    0x82C482EA, 0x82C882A2, 0x907781A2, 0x81A895B6, 0x82C68278, 0x83A482A2, 0x835B8156, 0x82BE828B, 0x93AA82AF, 0x82E7825C, 
    0x89BD82EA, 0x81A895D7, 0xA2820A42, 0xC982A982, 0x89836783, 0x8B837583, 0xDD82DC82, 0xCC82EA82, 0xED8FFA93, 0xDF89F082, 
    0xB782B282, 0xF78E748F, 0xA082C582, 0xC482C182, 0x4181E082, 0xEA82BB82, 0x5C97CD82, 0xC5827A91, 0xE982AB82, 0xA482E682, 
    0x8692C882, 0xC5826790, 0xC882CD82, 0xC182A982, 0x4281BD82, 0x82DC820A, 0x81A982B3, 0x82978F67, 0x81718ECC, 0x94AA8268, 
    0x8242927A, 0x82EA82B3, 0x82AD82C4, 0x82BE82E9, 0x82F182C8, 0x816381C4, 0x0A428163, 0x82B1820A, 0x82B182EA, 0x81AA82BB, 
    0x8E748F41, 0x8EAA82F7, 0x82C982E8, 0x81BD82B5, 0x82569077, 0x82C882BD, 0x8D7395E9, 0x8178814B, 0x81638163, 0x82638163, 
    0x82CD82C5, 0x81AD82C8, 0x82898F77, 0x82C482DF, 0x894B8DCC, 0x8278815E, 0x82A082C5, 0x944181E8, 0x82909767, 0x8A8B96CC, 
    0x82AF824A, 0x82A082C5, 0x81BD82C1, 0x8F0A0A42, 0x82F78E74, 0x8D7395CC, 0x90F0824B, 0x82A48240, 0x82DF82BD, 0x828897C9, 
    0x814981BD, 0x8CC68240, 0x8FA482BE, 0x82978FAD, 0x82A98ECD, 0x81F082E7, 0x975F9067, 0x8268816C, 0x8FBC96C6, 0x81E882E6, 
    0x82DE9441, 0x836783F0, 0x83758389, 0x82A9828B, 0x82E78EE7, 0x96BC96E9, 0x82CC82DA, 0x89C682E0, 0x8BC982C6, 0x82C08D8F, 
    0x82B182E9, 0x82C982C6, 0x82E982C8, 0x82BE82CC, 0x816381AA, 0x0A428163, 0x978FDE94, 0x738DCC82, 0xAA82AE93, 0xBD825690, 
    0xE296C882, 0xF082E891, 0xAB82F888, 0xB1824E8B, 0x4181B582, 0xB382AC8F, 0x6783C882, 0x75838983, 0xCD828B83, 0xC282A282, 
    0xD48ACC82, 0xA982C982, 0xE882FC8E, 0x6C90CC82, 0xE082D48A, 0xAB82AA8A, 0xF1829E8D, 0xE591BE82, 0xAE939B91, 0x4981C982, 
    0x820A0A0A, 0x82F182BB, 0x836E83C8, 0x83838360, 0x83608381, 0x96C88283, 0x82FA9388, 0x828692CC, 0x8F4181C5, 0x82F78E74, 
    0x82E88EAA, 0x82B582C9, 0x8D7781BD, 0x815E894B, 0x88CD8278, 0x89CC91EA, 0x82F082BD, 0x82BD82E0, 0x82B782E7, 0x81A982CC, 
    0x5F900A48, 0xC6826C97, 0xE68FBC96, 0xAD8FE982, 0xCC82978F, 0x4993DA96, 0x4881CD82, 0x8E748F0A, 0x95C982F7, 0x82AB8274, 
    0x82C682DC, 0x8D7395A4, 0x8FCD824B, 0x82A682C1, 0x82CC82E9, 0x0A4881A9, 0x9A930A0A, 0xCD82A682, 0xA482BB82, 0xB1824181, 
    0xA982EA82, 0x6E8EE782, 0xE982DC82, 0x90979B91, 0xFA93CC82, 0xCC825881, 0xC9828692, 0x0A0A4981, 0x3030320A, 0x55592039, 
    0x4F53555A, 0x4A2F5446, 0x534F4E55, 0x636E6920, 0x6C61202E, 0x6972206C, 0x73746867, 0x73657220, 0x65767265, 0x350A2E64, 
    0x6FA70068, 0x57E104EE, 0x027D1147, 0xF3DFA33E, 0x58C0D729, 0x10A2ECD0, 0x8D707EFA, 0x707219A0, 0x8EE4607D, 0x8D30CAA7, 
    0x0FA10A6E, 0x5354D0B1, 0xF76E5E8F, 0xE2A17129, 0xE7212201, 0x2E160DB3, 0xE577950D, 0xB1E46DD3, 0xDD50959A, 0xDBFC95E4, 
    0xF599C0FE, 0xD1D5444A, 0x2C1A0B7C, 0xBF0B0D94, 0x78984746, 0xC7D7DDAE, 0x97DB05A8, 0x16CB0A91, 0x946C3956, 0x0D286D84, 
    0x247C611C, 0x57149E3F, 0x3394589D, 0x1A640A09, 0x3D76EAD0, 0xA3C41F3B, 0xD8A59A1E, 0x490B8665, 0xD6107458, 0xCFB91BC7, 
    0x55CB76C6, 0x757CE977, 0x23EDFE46, 0x22D3D4A5, 0x28E78770, 0x7CB080C5, 0xB121D438, 0x0456DC14, 0xE0221D0E, 0x7B76021E, 
    0x6F0D4B19, 0x0C2701F7, 0xC4E938A7, 0x311DDBBD, 0xC6AFA69E, 0x46EB5490, 0x6D10AFE4, 0x206A02FD, 0xD0E613B8, 0xA9AEC0BF, 
    0x5CE43A65, 0x09FC72C9, 0xFDCDA768, 0xE84CF5F8, 0xA324A6CB, 0x2EB2ED11, 0xB3DD96E8, 0x99426E4E, 0x72A760DF, 0x66CFDDCD, 
    0xBEF1CF4F, 0xE21088A2, 0xC5EBEA8B, 0x7393F5AE, 0x9EFE7D70, 0xFE4A3DB8, 0x72153A1F, 0xAED7FCED, 0xB729F56B, 0x9224F9A2, 
    0xA20CF9AE, 0x7FE0A43D, 0x2655556D, 0x3EB67455, 0x88E28331, 0x6E5C8395, 0xAA037A2D, 0xE7C878A4, 0xA3BF3804, 0xC77327E8, 
    0xF972AC8F, 0x53372C13, 0xB39DC877, 0x15B7B770, 0xECA21B85, 0x18007926, 0xF3408CEF, 0xE6E7F0F0, 0xD58D95CB, 0x1A534480, 
    0x5A109935, 0xD7283542, 0xE93E546A, 0xD953C4F9, 0x405F5FF7, 0x782E3268, 0x902D3A58, 0x18E4DDC5, 0xA5DF9A86, 0xEAB3AAED, 
    0x4C93B556, 0xB95C3408, 0x0C507FB7, 0x5FDDC736, 0x41211301, 0xD2D63D47, 0xC1017585, 0xDA9D9A6F, 0x986F3766, 0x171EFBF9, 
    0x2F5DD20E, 0x0F5D5D5A, 0x523B3339, 0xC4AFCF84, 0xAEB1D4A4, 0x3612CE03, 0x3305D15E, 0xA9DBDB0E, 0x5451FA6F, 0xC45AA38F, 
    0x16DE7A02, 0x6871404C, 0xC12B496A, 0xA0814D7B, 0xC89F0182, 0xA7196ED8, 0xF8BEF623, 0xB78761AC, 0x1E856326, 0x64B90376, 
    0x55C3C91E, 0xE21BC97D, 0x0207DA20, 0x0BC890BD, 0xF0070173, 0xCD57DDD7, 0x83AEE930, 0x3D32DED8, 0x03AFCC4E, 0xC67A4534, 
    0xE44D3F02, 0x37E4DFBB, 0x12346FFE, 0xC993B5BC, 0x30E9093F, 0xBE5F2A9F, 0x4EBA4E1A, 0xDA4746CC, 0xC583AB4C, 0x2FF41F8C, 
    0x7754F679, 0xB7282ADA, 0xE62BD9CA, 0x349796DC, 0x5A31E148, 0x44B26A45, 0x4DD19C04, 0xFC3FEB06, 0xA0255129, 0xA1584395, 
    0xB87F3EC6, 0xC3731574, 0xD1789932, 0xB8AC4E88, 0x2C421304, 0x69E05C4F, 0xE0FC3FAC, 0xECA7C657, 0xBFF2B702, 0x5FE15A50, 
    0x1E850EF4, 0x047E64CD, 0x5077F42A, 0x58162512, 0x4C11121E, 0xC96E5347, 0xD4A5102B, 0x54A3F2DD, 0xC4D2BBF0, 0x0690C5D3, 
    0x92920B29, 0xBB78F74B, 0x9031EFF4, 0xC45A18B9, 0x394E3048, 0xBFBEF959, 0x87ED0319, 0x3125CCDA, 0x6BFBA4C7, 0xCDDC5C91, 
    0x1BAD9335, 0xEAAB1CBF, 0x82A6CBE0, 0x150DE36B, 0xFE7ACBBC, 0x8DBD9778, 0x59EC918D, 0xC79FFE36, 0xAE688BAC, 0x0CB8766F, 
    0x852AAFD0, 0xCA3FB30B, 0xA79EF923, 0xE63069A6, 0x1C47389A, 0x0CAED0A8, 0xF2AAFBB7, 0x5ED71648, 0xAFAC2C07, 0x1843C637, 
    0xC4130CF1, 0x8A285BE5, 0x0DEE0361, 0x90E084A5, 0xD05208DB, 0x3C78AC17, 0x7F2193BA, 0x4FE1086E, 0x98F8D2A8, 0x6C95B6F2, 
    0x4448DE56, 0xC9CDA3BE, 0xB83E5E5F, 0x019AAC31, 0x8B52CD61, 0xCF813D84, 0x3D013226, 0x956B1936, 0x2DE11A44, 0x06CEC79D, 
    0xED9489BD, 0xD0C3E0ED, 0x294F1607, 0x90E46BE4, 0x1EE262C4, 0x3F2D48DA, 0x9D976E8B, 0x662563A9, 0x84FC2F14, 0xDD3B24F7, 
    0xB4A6BC5D, 0x9C0959B9, 0x7E17B135, 0x39C99A0A, 0x2891149A, 0x5ED77862, 0xE9B23229, 0x221F2A5E, 0x2CFE1528, 0x1178A8C4, 
    0x711E6FBE, 0x77BD3959, 0x697348BB, 0x65A9E09C, 0x5BD5D2C1, 0x9B303606, 0x7791F6F0, 0xA1C90969, 0xDE096F69, 0xF10C15AD, 
    0x4C79DDB4, 0x0749B8FB, 0x6C9D0A78, 0x6B8363D8, 0x3B1B9B00, 0x447B82A2, 0x05CE1B02, 0xAFFE616F, 0x13C2F726, 0xF7F6DDBD, 
    0x35BF6D7E, 0x1671DC3E, 0x246EA5B8, 0xF151AD2B, 0xA579AF6A, 0x65AB245C, 0xD584D1C2, 0xE7F5D5DE, 0x8DBA7145, 0xE6A623F7, 
    0xB23FB61D, 0x49CEF905, 0x4217FB26, 0xC3067848, 0xFC73287F, 0xD0CDF9F1, 0x35DB9306, 0x2825FD5A, 0xE9D8F679, 0xFEDE6674, 
    0xC64AA581, 0x418DCE46, 0x440EBDE6, 0xBE59A25E, 0x411A4F89, 0xFE31F27B, 0x10072213, 0xC5B0CCA1, 0x6ECA64C5, 0x6B5C5881, 
    0xC05236A6, 0xD29A430F, 0x05EF39F1, 0xDB64E108, 0xD2AC4621, 0xAA324419, 0x3AD1F627, 0xE00B8C77, 0x86521CB2, 0xBFE5CFC1, 
    0x6ED3B6DD, 0x8CAA39CE, 0x813D89D4, 0x3B3EAD2B, 0x3FAC9ADA, 0x03C985A9, 0x6F877EFD, 0x4ED00C4A, 0xAAEA43C8, 0xDBB54134, 
    0x70B41224, 0x17ECB86F, 0xD740F556, 0x3BD904EC, 0x6AFC6B65, 0x0CF8693E, 0x3BA7AB89, 0x5B89505F, 0xB69E8B2D, 0x899A2B3B, 
    0xABF1C1BA, 0x93520C7A, 0xF73F0B46, 0x088C9649, 0x09C3D4D4, 0x7FFF15BE, 0x801C04A1, 0xD98AA17C, 0x503A7837, 0xAC206262, 
    0xADF50842, 0xF7A08568, 0xBEFAA358, 0xE40300FD, 0x8C542274, 0x1611F7C2, 0x9AABEDC2, 0xA8F122B5, 0x35D55B20, 0xA10E7F6F, 
    0x8A1C831F, 0xA519C5B0, 0xB07FC92C, 0x618B5034, 0xE0A30263, 0xCDC72C88, 0xCE9B2B3A, 0x52EF5F45, 0xEE8E7142, 0xA34270D1, 
    0x036BBA27, 0x7195F0B8, 0x50DD7348, 0xFAFBA245, 0xF9145A2E, 0xACC5D714, 0xC1874123, 0xD41A9A19, 0xA0683E44, 0x10A0C4CC, 
    0x6ACF3964, 0xBB26CAEA, 0x3C7694DE, 0x52D32A1A, 0xAF175AB1, 0xF2CCB88B, 0xF7DDFFB9, 0x9D42F9C2, 0x03CA1759, 0xB3B79138, 
    0xBF88D4C0, 0x7A20706B, 0xB78AF538, 0x395ACCE8, 0x1BC360CC, 0x3A66FF6C, 0x45F01F71, 0xAC732505, 0x13942DEF, 0x049A066D, 
    0x2A8861FF, 0x8A1930D7, 0x06655E0B, 0x8DB99F25, 0x5CF6CB9B, 0x705FF9FB, 0x88AC8418, 0xCF3F8A9B, 0x6087C127, 0xDDA183E6, 
    0xF26A8A14, 0xE0BDB097, 0xB829A9C6, 0x8ED6D517, 0xA561D4AF, 0xFF15C033, 0x7493CBE3, 0x27902314, 0x51B1342C, 0x134A6355, 
    0xAED5076A, 0x2AD7936B, 0xB15BE869, 0x4DE2C488, 0x63D03B2B, 0x089416E4, 0xD478572C, 0x06F6A943, 0xE98E0CFC, 0xF936624D, 
    0xDC25A38F, 0x0342AD40, 0x83DF4E08, 0x32C6863D, 0x93CABD31, 0xF1B2B7C9, 0xD2391ECD, 0x49080626, 0x775F6C41, 0x0476AF88, 
    0x67F957AB, 0x89FD5FDD, 0xCB49E619, 0xDCBF9955, 0xED61BA0B, 0xF8EB9534, 0xA8AD2AA0, 0x43917BDB, 0x3DEB7CD6, 0x05D5D382, 
    0xBD2C558A, 0x29236BA6, 0xCD16C23E, 0x7ABB6B88, 0x1A455B23, 0x48EB9BD0, 0x4186F892, 0x4651E6BF, 0xEA2A7039, 0xB7B76EE1, 
    0x9BE79BEC, 0xD5ABA649, 0x39F55154, 0xE1623AB9, 0x492D5AA8, 0x6B83E23E, 0x6C110606, 0xAE2A3D80, 0xC50EABF5, 0xD7133A60, 
    0x88897350, 0xDC614984, 0x69D943F8, 0xDB88D4E8, 0xECC4E5DE, 0x96ED1E7F, 0x3B1370CA, 0xCC1EADCA, 0x1B66778B, 0xAF417B6F, 
    0xBD87DCB6, 0xDE39EB3F, 0x2DA6E078, 0xA0C72EDE, 0xC1C63A9F, 0xD93A5BD9, 0x9E85AEF9, 0xE218D88B, 0x34C7CE98, 0x62497E95, 
    0x0132DF9A, 0xFEA1B372, 0xC0F86EBC, 0x742A31E4, 0xFE5FE866, 0x7FC17D01, 0x900CD72A, 0xD88C2792, 0xD0761DE2, 0xA5B931A5, 
    0x8690F642, 0x6B87F592, 0x7B037A7F, 0xEA7CDABA, 0xE8610A0A, 0xA72BC0F2, 0x4782EAEE, 0xA01171A1, 0x22D83B4E, 0xD9292EA4, 
    0x3E1750C8, 0x54D0F136, 0x27510F6B, 0xB5147D35, 0x947B69B4, 0xBEB1E228, 0x5CAF10D7, 0xB640A419, 0xAE41A4F5, 0x48809DC6, 
    0x8BADDE57, 0x11B8A0ED, 0xBB9C533B, 0xCFAEC750, 0xB9772967, 0xF750F808, 0x3B3C4A01, 0xD13C7892, 0x28488756, 0xACCAC584, 
    0x1570629F, 0x4ABC95FE, 0xA8D8BF99, 0x269F5D28, 0xA527660A, 0x3F4163D4, 0xE48B6C48, 0xBCD348B3, 0xCD5D56D2, 0xBC071682, 
    0xB8498D61, 0xF4C75A4B, 0x82B8B3C3, 0xF7D6618B, 0x2BC384A2, 0x7A824ACD, 0xE2830446, 0xB059B8AE, 0x00ECE631, 0x15070980, 
    0xBD243D70, 0xF1804CC9, 0xAAD1CA67, 0xC2568EE3, 0xA9DF9044, 0x598B7DC2, 0x5762ECD4, 0x7E74DA1E, 0x43E7A72F, 0x381C7DF6, 
    0xA5983BF7, 0x0895B19D, 0x4A3DB9A9, 0x7FC93B69, 0xACD05927, 0x3CE3D0BC, 0x4650161A, 0xEEA968FC, 0xF291EB2E, 0x6FD7CD78, 
    0x3F7E0C14, 0x9B188EB0, 0xFC826A9B, 0x9F31C2DA, 0x5AD33425, 0xC77EFD18, 0xFC484041, 0x308B1473, 0x0B99AFB9, 0xBA3CD198, 
    0xE0C8DEF6, 0x78C9CCDA, 0xBBE83D56, 0x8A2F8620, 0xC24EB476, 0x2AAE3B91, 0x6E0717A2, 0x91CEB8A4, 0xAEF00BFF, 0x3FB34B5F, 
    0x28BA44F8, 0x155BEFA8, 0x57C796D8, 0xBE59CB29, 0x43D352D8, 0x550D07BE, 0x13F49755, 0xCF7173D7, 0x1F086E19, 0x08AFE95B, 
    0x12BC4906, 0x902371F9, 0xF322EEBE, 0x000C5B23, 0x211C11A9, 0x4A218B6B, 0xB9F434D9, 0x86736639, 0x4DC9B444, 0xA9386D0F, 
    0x0098FE47, 0xA0A09061, 0x2D7A9AF0, 0xCFF1AEE0, 0x4E872500, 0xD8EA2F93, 0x37BFBFE9, 0x395B877F, 0x7C6D2CFB, 0xD8A34821, 
    0x0E1D45B2, 0x59640B18, 0x8BDE5269, 0xDC732051, 0xD3706C90, 0x6F508530, 0x107070B7, 0xDEB3C9C8, 0xF22CBACF, 0xB0512612, 
    0x05C64FB0, 0xA07D699D, 0xF7D80A19, 0x72A09520, 0xA8F25DDA, 0x7C40FFD3, 0x59E20724, 0xF7D2C507, 0x0F139788, 0xC84C4EB5, 
    0x4FC002A6, 0xE9A7F90C, 0x33D88519, 0x11629695
};

#elif defined(IMOUTO_STYLE)

const ULONG CCxdec::m_EncryptBlock[0x400] =
{
    0x636E4520, 0x74707972, 0x206E6F69, 0x746E6F63, 0x206C6F72, 0x636F6C62, 0x2D2D206B, 0x61745320, 0x61636974, 0x20796C6C, 0x6420726F, 0x6D616E79, 0x6C616369, 0x202C796C, 0x65726964, 0x796C7463,
    0x20726F20, 0x69646E69, 0x74636572, 0x202C796C, 0x6E697375, 0x68742067, 0x70207369, 0x72676F72, 0x61206D61, 0x6F2F646E, 0x6C622072, 0x206B636F, 0x6D6F7266, 0x68746F20, 0x70207265, 0x72676F72,
    0x20736D61, 0x6C6C6977, 0x20656220, 0x656C6C69, 0x206C6167, 0x74207962, 0x6C206568, 0x6E656369, 0x61206573, 0x65657267, 0x746E656D, 0xB182202E, 0x7683CC82, 0x4F838D83, 0x80838983, 0x7583E282,
    0x62838D83, 0xF0824E83, 0xC3904181, 0xC5824993, 0xEA82A082, 0x4993AE93, 0xA082C582, 0x4181EA82, 0xDA90BC92, 0xC5824993, 0xEA82A082, 0xDA90D48A, 0xC5824993, 0xEA82A082, 0xBC914181, 0x7683CC82,
    0x4F838D83, 0x80838983, 0xE782A982, 0xA2827097, 0xB182E982, 0xCD82C682, 0x43838983, 0x93835A83, 0xC9825883, 0xE882E682, 0xB682D68B, 0xEA82E782, 0xA282C482, 0xB782DC82, 0x810A4281, 0x96294369,
    0x83588385, 0x8343835E, 0x8DA7908B, 0x88CF88EC, 0x20EF89F5, 0x31313032, 0xBB8C0A0A, 0xFA93E391, 0x41817B96, 0x6E925E96, 0x7393FB95, 0x4281738E, 0x8D818D0A, 0x82C689E2, 0x824181CD, 0x825A8CA8,
    0x82E182BF, 0x35C682F1, 0xCC826C90, 0xAA828596, 0xDE825A8F, 0xC689E591, 0x4281B091, 0xA0820A0A, 0xFA93E982, 0x438A4181, 0xC5824F8A, 0x968E648E, 0xB782F082, 0xBC97E982, 0xA9826590, 0x4181E782,
    0xF182C882, 0x4981C682, 0x8CA8820A, 0x82BF825A, 0x88F182E1, 0x824F8AC8, 0x885391CD, 0x8A438AF5, 0x88C9824F, 0x825A8FDA, 0x82C882B5, 0x81A282B3, 0xC6820A49, 0xA882CC82, 0xB5824292, 0xAB82AA82,
    0xCC82BD82, 0x4281BE82, 0xCB930A0A, 0xCC825291, 0x7A89F888, 0xE990B582, 0xC982BE8C, 0xE28D818D, 0xCD82C689, 0x9B91E591, 0xC982AC82, 0x0A0A4281, 0x5A8CA882, 0xE182BF82, 0xCC82F182, 0xAF97638E,
    0x8120CD82, 0x826A9275, 0x88B582BE, 0x956C90EA, 0x82E782E9, 0x82B582B5, 0x82E082C4, 0x8DA282A2, 0x82878DA0, 0x82BE82A2, 0x81E782A9, 0xBE822076, 0xA482BB82, 0x5C81C582, 0x0A0A5C81, 0xAA82BE82,
    0xB1824181, 0xC982EA82, 0xC182A28D, 0xCC82BD82, 0x9035CD82, 0x96CC826C, 0x82BD8285, 0x0A4281BF, 0x8285960A, 0x82BF82BD, 0x885391CD, 0x0A4181F5, 0x5A8CA882, 0xE182BF82, 0xAA82F182, 0xBE824181,
    0xBE82A282, 0xBE82A282, 0x5B815B81, 0xA2825B81, 0xAB82B782, 0x820A9981, 0x82C182BE, 0x82A982BD, 0x82C582E7, 0x0A4281B7, 0x8CA8820A, 0x82BF825A, 0x82F182E1, 0x96FA93F0, 0x82C9827B, 0x82C682D0,
    0x82638EE8, 0x82C482B5, 0x82AD82A8, 0x82AF82ED, 0x82CD82C9, 0x82A982A2, 0x81A282C8, 0x848E0A41, 0x638EE082, 0x4981E982, 0x82A0820A, 0x82B582BD, 0x82638EAA, 0x81CC82E9, 0xC6820A49, 0x826C9035,
    0x828596CC, 0x81ED82AA, 0x81ED825B, 0x82AB825B, 0x825B81E1, 0x81E182AB, 0x91CC825B, 0x829B91E5, 0x0A4281AC, 0x82B7820A, 0x82BD82C1, 0x82F182E0, 0x82CC82BE, 0x81A682B7, 0xA8820A41, 0xBF825A8C,
    0xF182E182, 0xA882CC82, 0x6298A290, 0xC682578C, 0xC482B582, 0xC682D082, 0xBE82E882, 0xFA93AF82, 0xC9827B96, 0xC182638E, 0xE082C482, 0xA282A282, 0xC682B182, 0x4981C982, 0xBB820A0A, 0xC482B582,
    0x4E924181, 0x638EAA82, 0xCC82E982, 0x4881A982, 0x82C7820A, 0x828596CC, 0x82638EAA, 0x81A982E9, 0xCD820A48, 0xA8824181, 0xBF825A8C, 0xF182E182, 0x888CAA82, 0xE982DF82, 0xC682B182, 0x4281C982,
    0xCD820A0A, 0xB582BD82, 0x638EC482, 0xBD82C182, 0xC6828596, 0x5A8CA882, 0xE182BF82, 0xCC82F182, 0x578CD68A, 0xA282CD82, 0xBD82C182, 0xC782A282, 0xC882A482, 0xCC82E982, 0xB582C582, 0xA482E582,
    0x4881A982, 0x6E830A0A, 0x67835B81, 0x8B837483, 0x68834581, 0x6F835E83, 0x45815E83, 0x89838596, 0x99817583, 0x67835883, 0x8A835B81, 0xCC825B81, 0x8B964A8A, 0xB782C582, 0x0A0A4981, 0x63816381,
    0xC182A082, 0x7E974181, 0xE882A392, 0xA882C882, 0xBF825A8C, 0xF182E182, 0x9E96E082, 0xCC82AB91, 0x5B816E83, 0x80838C83, 0x5B818B83, 0xE0826783, 0xE982A082, 0xE782A982, 0x4981CB82, 0x42438D0A,
    0xBA31432F, 0x44279083, 0xF376534C, 0x8E6DCB06, 0xAFFBA913, 0x4063AFCC, 0x3A321483, 0xA8889A96, 0xEA8A6381, 0x3189B543, 0x4F70F0C7, 0xFD026686, 0xFE3E3E27, 0x4C5FBAF3, 0xC52D1F52, 0x0D7D5D74,
    0x62B25FFD, 0xBA08023E, 0x5953D365, 0x72508568, 0x0057BC20, 0xF3D570E9, 0xD8E3DA16, 0xDDE9B866, 0x56DCCD58, 0x2110B41C, 0xD71A6957, 0x1BD7CC4E, 0x78162B6C, 0xC8D8CF81, 0x3BC9F3AD, 0xEBE5E3AA,
    0x4D114207, 0x67606AD7, 0xD14024E3, 0x8D9BE370, 0xF1C9D43D, 0xB051E86E, 0x375470F1, 0x705EEA11, 0x525DED27, 0x253CDCFE, 0x13E7B7A2, 0x4373190A, 0x8669D41A, 0x967EB36B, 0x69101529, 0x96171C41,
    0xC5918B7A, 0x152840A4, 0xFB15ACC1, 0x778B8F5A, 0xAAD06E4C, 0x68A0BB33, 0x852D7D2B, 0x09264C73, 0x1890E302, 0x0A8F93DE, 0x101330F1, 0x7B622B36, 0x521DB8B0, 0xE4BA0C96, 0x81DE6891, 0x5EF36135,
    0xD2A27A08, 0x95332427, 0x9A2D44E6, 0x73CDA443, 0x46F10B0B, 0x33E74A6A, 0xE69B69CC, 0x7CBE2728, 0xD0E6ADA8, 0x5F1269DE, 0xE286AC3A, 0x08255B3E, 0x644315A0, 0xCF512DD5, 0x636E578E, 0x4C977FF3,
    0xEFE9AC91, 0x6348DB66, 0x1B92821B, 0x688330B6, 0x4E0D5ABB, 0xB3BB6C27, 0x6AF68D4D, 0x8E964ABE, 0x63113A48, 0x217B73A5, 0x7A1CB3F8, 0x90E7B8CF, 0x375D1D39, 0xE3F8D7EE, 0x211977A5, 0xE3938047,
    0x74A68016, 0x6BED5695, 0xF4F0BD17, 0x9AA81CB1, 0x79E6FA4C, 0xB3F3D200, 0x52BB9D06, 0x754B2D9F, 0xAC84EB85, 0x2CA0F536, 0x27A0BA82, 0x59D9E906, 0x025E2DBA, 0x0FD74184, 0x6CE802E1, 0xDBD260ED,
    0x2ACDD9C5, 0x8D690A89, 0x431FBE04, 0x0CAB43DD, 0x8340CA9F, 0x22259FB7, 0x6041433F, 0x94FCBCA8, 0x63A2FF2C, 0x4E86D1F4, 0xBD097A8F, 0x56594CAC, 0xF1982526, 0xFDC3FB2A, 0x74E78D78, 0x06B4FAE1,
    0x4CCD33D1, 0x04739A44, 0x1BFAAC38, 0xC939406A, 0x858B1AD3, 0x1A59B682, 0x04A36400, 0x54285427, 0x322CA30F, 0x94B54BC6, 0xBC549AD9, 0xFE643B11, 0x0CCD46EC, 0x5F9389B6, 0xAD509F45, 0xEB881990,
    0x411C3E18, 0x7DA019CC, 0x7E0C4D8D, 0x71C3EFB2, 0xF6A91979, 0x3A73EC54, 0x51FED990, 0x782AAE46, 0x01D54860, 0xFC62953E, 0x155C2247, 0x7528C360, 0xCBFE2BDB, 0xFECD2F6C, 0xE6CD00CD, 0x8ECA7A45,
    0xF48C289D, 0xE6778CD5, 0xCB7F188A, 0xDC261DB3, 0x52BE6682, 0xD07C7393, 0x8789282B, 0xA5E477A1, 0x2A3F1DAB, 0x63332461, 0x2BD88732, 0x50550D24, 0x19EFF735, 0x5A996FF1, 0x6179B71B, 0xA7FB853E,
    0x2FCDD40C, 0x6DEED4B4, 0xD42B865A, 0x0FA0F396, 0xC0DD124D, 0x99A66F01, 0x67AF8A66, 0x81E31896, 0xB63CC184, 0x95C1A9A4, 0x0C8402E3, 0x97C745EC, 0x8E5379FA, 0xA07ABFD7, 0x504E3D66, 0x08C7A8F5,
    0x1893BE99, 0x2E2A44EB, 0x2BEE3D51, 0x7EDF0D8B, 0x5B76D87B, 0xC2ABC254, 0x950C54CB, 0x62D5EFBF, 0xE01EB4A9, 0xA17FC929, 0x4CCB3B81, 0xAD80D771, 0xC43A9F1A, 0xEBB7EF73, 0xC3B5E687, 0x397EFCD9,
    0xDB3F1622, 0xA853F100, 0x5150D44B, 0xDE03761D, 0x2B6C7C1C, 0xD870C130, 0x0E280FD1, 0x0B1785AC, 0x7E9A65CB, 0x03D58896, 0xDD06B824, 0xE7290D61, 0x84288733, 0xCB19C48B, 0xBCD87C84, 0xBC4DC0B5,
    0xD0550AAA, 0xF7F0DE27, 0x277C54CE, 0xD7081AB7, 0x69E1EA21, 0xD84A9DE8, 0x56CEC120, 0xB38A1845, 0x6BBE338B, 0x19E8D770, 0x0D016FA5, 0x5A75D5D9, 0x388F5369, 0xFA837211, 0xFBD435E9, 0xCA528C44,
    0x4104FDDE, 0x6764EDB4, 0xFE7C2304, 0x6C5DD247, 0x8169B468, 0x00827B52, 0x9EB972E3, 0xBE3A7FE9, 0x429FDD38, 0x30501B19, 0x2FB3999B, 0x8E3FC653, 0xF740D1BC, 0xB98D0A2C, 0x33A2786B, 0xB5ECBA03,
    0x3602EBF0, 0x4798722B, 0xE7981742, 0x93B13C67, 0x787547C5, 0xFD3D6FF1, 0x06830A6F, 0x93A598E4, 0x797E1323, 0xD402E578, 0x449A5E11, 0x34087E3D, 0x5DFEC009, 0x73FD911D, 0x752AADB3, 0x05B9AAE0,
    0x2AAF8440, 0x95A2FF11, 0xE59F4964, 0xB1213125, 0xDA66D133, 0xDC9039EA, 0x70354E3E, 0xF7BC7F30, 0x2C8DC3FD, 0x05E44B1F, 0xBE8FC46E, 0x377BC8C2, 0xB24B50B3, 0xB7894829, 0xC1999C5A, 0x3CC8D2A5,
    0x750FA8CF, 0xBC069A9A, 0xD7F78F22, 0xDA7CFF4D, 0xF0E006B7, 0x1A522041, 0x2ECC07A8, 0x0D4BAECC, 0x22401C54, 0x1F1C8F92, 0xCDCA4288, 0x16491001, 0xE01B10C9, 0x702766D7, 0xD8D869D9, 0x1486620F,
    0xE1D2A44B, 0x9BBEA51A, 0x103DB291, 0x25904F1C, 0xE375B131, 0x754A946A, 0xF16E2CF5, 0xFD10C115, 0x26F8C0BA, 0xEEC39548, 0x938840AB, 0x5AD06F42, 0xFE0D7F4B, 0x7C3E4A08, 0xBDC2BF96, 0xDD52329A,
    0xA7AC8A67, 0x6E6CF295, 0x2009594C, 0xD78DBC2D, 0xCC16D35D, 0x1A6C2B19, 0xD9C9552C, 0x9B0A01C3, 0xB078ACEF, 0x314C1F93, 0x123254FD, 0x478D0285, 0x28455BAB, 0x79945BC3, 0x6191743A, 0x20FB0EB4,
    0xAF7E5801, 0xE3391510, 0x09A84A6A, 0xD6FED30C, 0xB5A71B00, 0x96B226C3, 0x48B6C717, 0x2BA8BC95, 0xA9F15023, 0xD31F6137, 0xB9A21716, 0x835F13E4, 0x26C7D638, 0x435EDBB9, 0x949F4E5F, 0x60FD82A7,
    0x654C6E1C, 0x67AC13BF, 0xAD817CB5, 0xE673CE85, 0x067A2888, 0x67704ACC, 0x1030CBEF, 0x6537EC78, 0x6C078B77, 0xC4E14EB9, 0xED244E4F, 0x54E3107C, 0x6173FEB3, 0xA914ECA2, 0xCAF686FC, 0xD558892F,
    0x10459A64, 0x27A89B76, 0x5BB1E893, 0x0A2BE857, 0x990F59D4, 0x485B0978, 0xE290D84B, 0x2CF67C46, 0x323B9CB9, 0x9FAA985D, 0x6BB06471, 0x2CBA90AA, 0xF2ABD11A, 0x571CB2DF, 0xA02101F8, 0xD03A7ECA,
    0xD91F6B8D, 0x4196E539, 0xA550341D, 0xCDD2BF9C, 0x88EB7E87, 0xEA2CF87B, 0xDE218632, 0x6663C94E, 0x22CE333B, 0xA36FE658, 0x67416CF1, 0x049FB128, 0xF40310E0, 0x6ABB0145, 0xBA59A97D, 0xDBF1AC64,
    0xECBAE276, 0x320C828C, 0x0EAB779C, 0x4F8A4A60, 0xAABFC730, 0xD7C8D77B, 0x97EC999F, 0x5AEC8C08, 0x2786BE2F, 0x3C96B7BE, 0xD13400CC, 0x7F83BEA5, 0x2EFCB854, 0xF1281B1A, 0xE9C9C523, 0x762CCFC9,
    0x9FE95E9F, 0xE60E65A5, 0x76A93948, 0xE8CE87F0, 0x4BDED13F, 0x8D056D49, 0xCC3CDCB7, 0xA92F7175, 0x1B416C22, 0xD8C60192, 0xDABE17D7, 0xB251233C, 0x8C893C37, 0x260BB501, 0x6D8DF9E2, 0xDC085135,
    0xBD6EAD38, 0x3D9682D7, 0xAEE86298, 0x9D8CA108, 0x92C82D14, 0x4AA9AA3C, 0x404CC525, 0xFD7C6370, 0xB615DFA6, 0x9416A64A, 0x259D874B, 0xA5AC7869, 0xA37B6807, 0xC9B6600D, 0x7A9DF0A1, 0x5EE41F23,
    0x4EEC5EF2, 0xF2C67CA6, 0xC7FD47F6, 0xE174B2C5, 0x19821950, 0x3CDCA5D8, 0xE4366CF2, 0x28BF3F32, 0xA1C1947A, 0x2DFAB9BA, 0xB2BBA8E1, 0xBACD5C19, 0x11162D86, 0x78042194, 0x9F637F8A, 0x84DE5202,
    0xCDF472AD, 0x33479796, 0x443981A9, 0xEC734832, 0x6BBDD504, 0x3D324E40, 0xCA041502, 0xF0670E7C, 0x467AACD0, 0x415A4F25, 0x72700180, 0xC82718F7, 0x9CDA29E6, 0xAEF8BA5B, 0x5D8A6EB5, 0x5084286C,
    0x12D9C86A, 0x6C2043DD, 0x8580666A, 0xE2E99A4D, 0x6F4D021F, 0xDF01D8FA, 0xB17F0BC1, 0x8BA35CB6, 0xFE61F3C7, 0xACDBA910, 0x47890981, 0x64D59921, 0xAFBCFCB4, 0xE93AAF84, 0xF62E4469, 0xFBC60AAF,
    0xE75E2ED7, 0x7DB5F8CE, 0xDA703F31, 0xC91366C0, 0x7F309B01, 0xCA9379C7, 0x5C644446, 0xDD00153F, 0x82C63B2F, 0xCD16ACBE, 0x72FE782C, 0x9366F860, 0x13DBF523, 0x565073A5, 0x6B47F9A1, 0xD7FF64B5,
    0x05A4B3A7, 0x70ED561E, 0x56A13267, 0x169FC9B9, 0x33ED23FB, 0xAF0A02F0, 0x3CCB2699, 0xCD2F8332, 0x7CFF035A, 0x9FFE1B66, 0xA47C752A, 0x0AA9D335, 0xCFDCD290, 0x12FE5A90, 0x2EBF6472, 0xEC81039D,
    0x543D5838, 0x54DF713E, 0x7BE108D2, 0x2EAD3A13, 0x17E4480C, 0x7AFE7855, 0x63BF0B82, 0xA00AF39D, 0xD48DB977, 0xD17AA81B, 0x4ECA0712, 0xB05C72B9, 0xF0C146DE, 0x7B8EA60D, 0x10414BF5, 0xBCC60E80,
    0x407B7C0D, 0x988F4D27, 0xA89534AD, 0x25B9B7CC, 0x62D6A9B7, 0x79458C0C, 0x41BB283B, 0x7973DEEA, 0x65133D15, 0xC031C7E0, 0xA2B4253D, 0x879C4408, 0x9C6A5D1D, 0xDF638CBD, 0x8268E704, 0x80D0B4FD,
    0x9123EDD2, 0x85C64D6B, 0x2F5CB2EE, 0x92B26B8D, 0x4E88A4A9, 0x99F6635A, 0x3767245A, 0x00F6B176, 0xB6111EC7, 0x38BAAB2B, 0x41448742, 0x97F96080, 0x2EBC16CB, 0xE9159EB5, 0xA4FC4FD7, 0x8BCC4F91,
    0xEED53A3B, 0x6C39C44E, 0x224CA77F, 0xBAC67006, 0x75EB8CB5, 0xF617DF71, 0xE7EF68E9, 0x08C2478E, 0x527BECCB, 0x4889F950, 0xAC6555AC, 0xA4C0655D, 0x7E4832DC, 0xB86A5F49, 0x1ACB89C5, 0xE289AA94,
    0x83A365A7, 0x48FFC413, 0x02B3AA27, 0x826453C3, 0x4EE10D0A, 0x2E8DD647, 0xB1DF4A60, 0xD8B55BDE, 0xA30297D2, 0xEC86B211, 0x55F014E1, 0x54B19C7B, 0x9810E09D, 0xDA97920E, 0xB3FDDD55, 0x8BB3D1E6,
    0xA9E0CA16, 0x071DD3B3, 0xB079C31F, 0xB0EA4DAC, 0xD40B46C8, 0x0F6178C1, 0x699D82E5, 0xA4AE1881, 0xEF19EB7E, 0x02D74A75, 0x1CB03CEB, 0xEDE9F2E4, 0x22072FD0, 0x3A94EC89, 0x319B5193, 0xBD6A3F12,
    0xA74E3A38, 0x080A523C, 0xFC3A5A5F, 0x78961CB2, 0xB1FE4A4F, 0x86C56922, 0xBE963624, 0x523B6955, 0x82A23A1B, 0xD792A5F0, 0x93CF85FF, 0x617580A8, 0x777F1DF4, 0xB6C74E9C, 0xC5315F34, 0xC90CCE45,
    0x0990C3BE, 0x059D94F8, 0xFABE44CF, 0x4F48DA6F, 0x7CABD3C0, 0x2FF38D9E, 0xD264CE23, 0x47592AF4, 0xD5E1837D, 0x78AD5423, 0xCB671759, 0x2825E381, 0xA0BAEA7A, 0xEC769DCE, 0x8179DC13, 0xB836CB59,
    0xC7376708, 0x2D9A2E57, 0xA9C01938, 0x6B0B016F, 0x407424AB, 0x29D0B85A, 0x051123CA, 0x49F8966D, 0x018534D4, 0xE38FED36, 0x37D377DF, 0xE737E69C, 0x9539C733, 0x38D71CD1, 0xE6CE10B4, 0x8D7840AD,
    0x3A960217, 0xED09A33F, 0xBB3BB1D1, 0x726F8E7F, 0x35FB2B81, 0xBFB29C29, 0xAB66E982, 0xFC65D82B, 0x4E34ADAE, 0xF4DCE32D, 0xA4AC9E69, 0xB3CAF595, 0x11F110DD, 0x6990EDDA, 0xB4B8B3A4, 0x80402A4C,
    0x2CEFE599, 0xF23056D4, 0x921A54C4, 0x68B3AB5C, 0x96537921, 0xE2E0DBE0, 0x73A0CA63, 0x065FDB0A, 0x87BCFD1D, 0x792E876A, 0xE87DF342, 0x916AA8E8, 0x3D81597A, 0x2BF7B54D, 0x1EC3AB18, 0x63ECE2E2,
    0xD7B41E41, 0x5B45192B, 0xAEA528E7, 0xC303F4A1, 0xFB6FFA2B, 0x2A7F5B36, 0xFF58ABF5, 0xBCE44A57, 0xA47334E1, 0xFF792ED4, 0x01310C5E, 0x67669D82, 0x218F4CCA, 0x1BE4C630, 0x03A9DFBA, 0x3DCAB4CB
};

#else

const ULONG CCxdec::m_EncryptBlock[0x400] = {};

#endif